[Leetcode] 500. Keyboard Row 解题报告
来源:互联网 发布:云图制作软件 编辑:程序博客网 时间:2024/06/05 06:39
题目:
Given a List of words, return the words that can be typed using letters of alphabet on only one row's of American keyboard like the image below.
Example 1:
Input: ["Hello", "Alaska", "Dad", "Peace"]Output: ["Alaska", "Dad"]
Note:
- You may use one character in the keyboard more than once.
- You may assume the input string will only contain letters of alphabet.
思路:
我们可以用一个长度为26的向量来模拟哈希表:每个小写字母对应其在美式键盘上的行编号。然后对于每个单词,统计每个字符出现的行编号集合。如果最终行编号集合的大小为1,那么就符合条件,加入结果集中。
代码:
class Solution {public: vector<string> findWords(vector<string>& words) { set<int> lines; vector<string> ret; vector<int> hash = {2, 3, 3, 2, 1, 2, 2, 2, 1, 2, 2, 2, 3, 3, 1, 1, 1, 1, 2, 1, 1, 3, 1, 3, 1, 3}; for (auto s : words) { lines.clear(); for (auto c : s) { lines.insert(hash[tolower(c) - 'a']); } if (lines.size() == 1) { ret.push_back(s); } } return ret; }};
阅读全文
0 0
- [Leetcode] 500. Keyboard Row 解题报告
- 【LeetCode】Keyboard Row 解题报告
- Leetcode-500. Keyboard Row
- 【Leetcode】500. Keyboard Row
- 【LeetCode】500. Keyboard Row
- LeetCode 500. Keyboard Row
- LeetCode 500. Keyboard Row
- leetcode 500. Keyboard Row
- [LeetCode]500. Keyboard Row
- LeetCode | 500. Keyboard Row
- [LeetCode]500. Keyboard Row
- LeetCode 500. Keyboard Row
- 【LeetCode】500. Keyboard Row
- Leetcode 500. Keyboard Row
- LeetCode 500. Keyboard Row
- LeetCode 500. Keyboard Row
- [leetcode]: 500. Keyboard Row
- leetcode 500. Keyboard Row
- 算法爱好者——子集 ? 待解决
- codeigniter3.16版本migration(数据工厂迁移类)的使用
- 一道挤奶的奶牛题的题解
- Kotlin使用Retrofit进行get请求的方法(懒加载机制)
- shrio 权限管理filterChainDefinitions过滤器配置
- [Leetcode] 500. Keyboard Row 解题报告
- Hdfs 数据块丢失处理
- android系统常用URI
- mysql--表拆分
- 仿知乎广告效果
- 算法爱好者——最接近的三数之和 ? 待解决
- 光棍节练习赛1、2题题解与反思
- Hadoop 端口
- 指南:在 linux 下的 Oracle Database 11g 中安装 Oracle Enterprise Manager 10g Grid Control 第 5 版