字母

[LeetCode] 205. Isomorphic Strings

瘦欲@ 提交于 2019-12-02 20:34:17
同位字符串。给两个字符串s和t,判断他们是否互为同位字符串。同位字符串的定义是比如在s中有个字母“e”,在t中对应位置上有一个字母“g”,那么s中剩下所有的e应该在t对应位置上对应的是字母g。例子如下 Example 1: Input: s = "egg", t = "add" Output: true Example 2: Input: s = "foo", t = "bar" Output: false Example 3: Input: s = "paper", t = "title" Output: true 两种思路。一个是用hashmap做,一个是用counting sort的思路做。 遍历两个字符串,用hashmap存同样位置上s和t字母的对应关系。如果发觉有对不上的,就return false;遍历完的话就return true。 时间O(n) 空间O(n) 1 /** 2 * @param {string} s 3 * @param {string} t 4 * @return {boolean} 5 */ 6 var isIsomorphic = function(s, t) { 7 if (s.length !== t.length) { 8 return false; 9 } 10 if (s === t) { 11 return true; 12 } 13

SQLite Mysql 模糊查找(like)

假如想象 提交于 2019-12-02 07:51:32
select UserId,UserName,Name,Sex,Birthday,Height,Weight,Role from xqhit_Users where UserName like "%yym%" limit 50 offset 0 name like “%values%” 或 name like ‘%values%’ 都可以。 select * from db.table limit 50 offset 0; limit 拿取50条 offset 跳过 0条 一般分页常用 SQL模糊查询语句   SQL模糊查询,使用like比较字,加上SQL里的通配符,请参考以下:   1、LIKE'Mc%' 将搜索以字母 Mc 开头的所有字符串(如 McBadden)。   2、LIKE'%inger' 将搜索以字母 inger 结尾的所有字符串(如 Ringer、Stringer)。   3、LIKE'%en%' 将搜索在任何位置包含字母 en 的所有字符串(如 Bennet、Green、McBadden)。   4、LIKE'_heryl' 将搜索以字母 heryl 结尾的所有六个字母的名称(如 Cheryl、Sheryl)。   5、LIKE'[CK]ars[eo]n' 将搜索下列字符串:Carsen、Karsen、Carson 和 Karson(如 Carson)。   6

el获取对象属性大小写问题

那年仲夏 提交于 2019-12-01 23:20:19
当el表达式首字母大写,会判断第二个字母大小写,小写,抛异常;大写,则直接拼接get,形成getter方法 当el表达式首字母小写,会判断第二个字母大小写,大写,必须第一个字母大写;否则无法获取值 el首字母大写,至少第二个字母必须大写。 只要实体声明(属性)变量按照Java命名规范就不会有这种问题! 来源: https://www.cnblogs.com/zouhong/p/11720744.html

luogu#P1341 无序字母对

你。 提交于 2019-12-01 20:17:34
题意: 给定n个各不相同的无序字母对(区分大小写,无序即字母对中的两个字母可以位置颠倒)。请构造一个有n+1个字母的字符串使得每个字母对都在这个字符串中出现。 解法: 一道欧拉回路的模板题。将每个字母两两之间连一条无向边,然后求欧拉回路(保证字典序最小)。 #include<iostream> #include<stack> #define N 60 #define tint(_) (int(_-'A')) #define tchar(_) (char(_+'A')) using namespace std; bool e[N][N]={0}; int n,d[N],f[N],s; stack<int> st; void out(); void dfs(int x); void finds(); int fnd(int x); void uni(int x,int y); bool check(); void init(); int main() { init(); if(check()) { cout<<"No Solution"; return 0; } finds(); dfs(s); out(); return 0; } void out() { while(!st.empty()) { cout<<tchar(st.top()); st.pop(); } } void

java学习4-面向对象(上)

我是研究僧i 提交于 2019-12-01 10:28:57
1.类和对象 修饰符可以是public、final、abstract或者完全省略这三个修饰符 类名命名规则:每个单词首字母大写,其他字母全部小写,单词与单词之间不使用分隔符 修饰符:可以省略,也可以是public、protected、private、static、final,其中public、protected、private只能出现其一,可以与static、final组合来修饰成员变量; 成员变量名:合法标识符即可,第一个单词首字母小写,后面每个单词首字母大写,其他字母全部小写,单词与单词之间不使用分隔符 修饰符:可以省略,也可以是public、protected、private、static、final、abstract,其中public、protected、private只能出现其一,abstract和final只能出现其一,它们可与static组合来修饰方法 方法返回值类型:如果方法声明了方法返回值类型,则方法体内必须有一个有效的return语句;如果一个方法没有返回值,则必须使用void来声明没有返回值。 方法名:与成员变量名的命名规则相同 形参列表:多组参数间以英文逗号,隔开;形参类型与形参名间以英文空格隔开 特别地:static修饰的变量或方法称为类变量或类方法 构造器不能定义返回值类型,也不能使用void声明构造器没有返回值 来源: https://www

【leetcode】字母异位词分组

扶醉桌前 提交于 2019-12-01 07:43:13
给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ] 说明: 所有输入均为小写字母。 不考虑答案输出的顺序。 分析:两个方法 1.对每个单词进行字典序排序,排序结果相同的自然是同一分组 时间复杂度:O(N*K*log K),K为最长单词长度 空间复杂度:O(N*K) 2.对每个单词按计数分类 可以采用map,也可以采用数组,建议利用素数的性质来使用数组进行计数 每个小写字符对应一个素数,素数相乘的结果和素数乘的先后顺序无关,所以对每个单词可以生成一个特征码,只要单词中的字符的数量和种类相同,那么生成的特征码也是一样的 时间复杂度:O(N*K) 空间复杂度:O(N) class Solution { public: vector<vector<string> > groupAnagrams(vector<string>& str) { int mod=1000000007; vector<vector<string> > vv; map<long long,vector<string> > mm; map<long long ,vector

CF570D Tree Requests

試著忘記壹切 提交于 2019-12-01 07:10:53
洛咕 题意:给定一个以1为根的n个节点的树,每个点上有一个字母 \((a-z)\) ,每个点的深度定义为该节点到1号节点路径上的点数.每次询问 \(a,b\) 查询以 \(a\) 为根的子树内深度为 \(b\) 的节点上的字母重新排列之后是否能构成回文串. \(n,m<=500000.\) 分析:还是那个模板,然后一个子树内的字母重新排列之后要能够构成回文串,当且仅当出现次数为奇数个的字母至多只有一个.根据这个性质,我们可以用二进制位来表示每个字母,即每个节点赋上权值 \(1<<(ch-'a')\) ,然后合并的时候就把权值异或起来就好了.最后就只要计算这个数是否只有最多一位为1就好了. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<map> #include<set> #define ll long long using namespace std; inline int read(){ int x=0,o=1;char ch=getchar(); while(ch!='-'&&(ch<'0'||ch>'9'))ch=getchar(); if(ch=='-')o=-1,ch=getchar();

【Luogu1092】虫食算

醉酒当歌 提交于 2019-11-30 22:31:52
Source and Judge NOIP2004 提高组 T4 Luogu1092 Caioj1519 Problem 【Brief description】 所谓虫食算,就是原先的算式中有一部分被虫子啃掉了, 需要我们根据剩下的数字来判定被啃掉的字母。 来看一个简单的栗子: 123 43#9865#045+ 8468#6633=44445509678 其中#号代表被虫子啃掉的数字。 根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。 现在,我们对问题做两个限制: 首先,我们只考虑加法的虫食算。 这里的加法是N进制加法,算式中三个数都有N位,允许有前导的0。 其次,虫子把所有的数都啃光了,我们只知道哪些数字是相同的, 我们将相同的数字用相同的字母表示,不同的数字用不同的字母表示。 如果这个算式是N进制的, 我们就取英文字母表的前N个大写字母来表示这个算式中的0到N-1这N个不同的数字, 但是这N个字母并不一定顺序地代表0到N-1。 输入数据保证N个字母分别至少出现一次。 123 BADC+CBDA DCCC 上面的算式是一个4进制的算式。 很显然,我们只要让ABCD分别代表0123,便可以让这个式子成立了。 你的任务是,对于给定的N进制加法算式, 求出N个不同的字母分别代表的数字,使得该加法算式成立。 输入数据保证有且仅有一组解. 【Input】 包含四行