Anagrams问题(颠倒字母形成的新单词)
来源:互联网 发布:下载淘宝网天猫商城 编辑:程序博客网 时间:2024/05/16 13:43
49 Group Anagrams
Given an array of strings, group anagrams together.
For example, given: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],
Return:
[
[“ate”, “eat”,”tea”],
[“nat”,”tan”],
[“bat”]
]
卡住:难道要一个字母一个字母的比较么?比如eat和ate,这比较难度有点大
解决思路:
排序string!
string s;
sort(s.begin(),s.end());
那么eat、tea、ate都会排序成相同的字符串。
所以我们使用unordered_map
lass Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { unordered_map<string, multiset<string>> mp; for (string s : strs) { string t = strSort(s); mp[t].insert(s); } vector<vector<string>> anagrams; for (auto m : mp) { vector<string> anagram(m.second.begin(), m.second.end()); anagrams.push_back(anagram); } return anagrams; }private: string strSort(string& s) { int count[26] = {0}, n = s.length(); for (int i = 0; i < n; i++) count[s[i] - 'a']++; int p = 0; string t(n, 'a'); for (int j = 0; j < 26; j++) for (int i = 0; i < count[j]; i++) t[p++] += j; return t; } };
阅读全文
0 0
- Anagrams问题(颠倒字母形成的新单词)
- LeetCode----49. Group Anagrams(颠倒字母的组合)
- finding anagrams(颠倒字母而成的字) of a given word; 编程珠玑之如何找出一个单词的换位词; 如何找出字典中的兄弟单词
- finding anagrams(颠倒字母而成的字) of a given word; 编程珠玑之如何找出一个单词的换位词; 如何找出字典中的兄弟单词
- leetcode49-Group Anagrams(同构词(相同字母组成的单词)分类)
- LeetCode练习<二> 将字符串中的每个单词的字母颠倒,单词顺序不变
- group anagrams :颠倒字母顺序构成同一组词
- 将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化
- Anagrams (神奇的单词集合)【leetcode】
- [leetcod] Valid Anagram 判断颠倒字母顺序而构成的单词
- 颠倒单词的出现次序
- 颠倒单词的出现顺序
- 将字符串中的每个单词顺序进行颠倒,单词还是原来的单词,字母顺序不发生变化,将字符串中的空格用 代替
- 输入一行字符,统计单词个数?(单词:单个字母以上字母的集合)
- 颠倒单词中的易错点
- 编写程序颠倒句子中单词的顺序
- MapReduce之单词(字母)个数的统计
- 单词前后位置颠倒,大小写颠倒
- 18 Concurrency and Synchronization
- ListView点击checkbox其他checkbox也被同时选中的问题
- 19 Performance
- Python Pillow Image Invert
- 关于eclipse中@override报错原因及解决办法
- Anagrams问题(颠倒字母形成的新单词)
- hive中UDF和UDAF使用说明
- 解决caffe debug 1-Pycharm import caffe 报错 no module named caffe
- js 把一个数组分割成 n 个一组
- <java EE 项目:Attendance> 从一个简单项目看java web 开发的整体布局
- gulp--gulp-autoprefixer
- 总结“生成账单”功能的要点
- AngularJS注意事项
- 插件APK中的activity显示的视图,其实是附着在宿主Activity上的