500.键盘行771.宝石与石头简单find接口的使用
- 游戏开发
- 2025-09-03 23:27:01

500. 键盘行1
给你一个字符串数组 words ,只返回可以使用在 美式键盘 同一行的字母打印出来的单词。键盘如下图所示。
请注意,字符串 不区分大小写,相同字母的大小写形式都被视为在同一行。
美式键盘 中:
第一行由字符 "qwertyuiop" 组成。第二行由字符 "asdfghjkl" 组成。第三行由字符 "zxcvbnm" 组成。示例 1:
输入:words = ["Hello","Alaska","Dad","Peace"]
输出:["Alaska","Dad"]
解释:
由于不区分大小写,"a" 和 "A" 都在美式键盘的第二行。
示例 2:
输入:words = ["omk"]
输出:[]
示例 3:
输入:words = ["adsdf","sfd"]
输出:["adsdf","sfd"]
find接口
static const size_t npos = -1; class Solution { public: int _findnmu(char ch) { if(ch >= 'A' && ch <= 'Z') ch += 32; string s1 = "qwertyuiop"; string s2 = "asdfghjkl"; string s3 = "zxcvbnm"; if(s1.find(ch) != -1) return 1; else if(s2.find(ch) != -1) return 2; else return 3; return 0; } vector<string> findWords(vector<string>& words) { vector<string> res; for(int i = 0; i < words.size(); i++) { int flag = 1; int num = _findnmu(words[i][0]); for(int j = 1; j < words[i].size(); j++) { int word = _findnmu(words[i][j]); if(word != num) { flag = 0;// 发现有非同行元素出现 break; } } if(flag) res.push_back(words[i]); } return res; } };
771. 宝石与石头
给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。
字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。
示例 1:
输入:jewels = "aA", stones = "aAAbbbb" 输出:3示例 2:
输入:jewels = "z", stones = "ZZ" 输出:0提示:
1 <= jewels.length, stones.length <= 50jewels 和 stones 仅由英文字母组成jewels 中的所有字符都是 唯一的 class Solution { public: int numJewelsInStones(string jewels, string stones) { int res = 0; for(auto &e : stones) { if(jewels.find(e) != -1) res++; } return res; } };500.键盘行771.宝石与石头简单find接口的使用由讯客互联游戏开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“500.键盘行771.宝石与石头简单find接口的使用”