Group Anagrams
2015-08-25 14:23
246 查看
原题:
Given an array of strings, group anagrams together.
For example, given: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],
Return:
[
[“ate”, “eat”,”tea”],
[“nat”,”tan”],
[“bat”]
]
Note:
For the return value, each inner list’s elements must follow the lexicographic order.
All inputs will be in lower-case.
解题:
可以先对字符串排序,然后存储到hashmap里面,然后跟剩余的字符(先排序)比对,相等的话则把原串存入到到map中。map
Given an array of strings, group anagrams together.
For example, given: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],
Return:
[
[“ate”, “eat”,”tea”],
[“nat”,”tan”],
[“bat”]
]
Note:
For the return value, each inner list’s elements must follow the lexicographic order.
All inputs will be in lower-case.
解题:
可以先对字符串排序,然后存储到hashmap里面,然后跟剩余的字符(先排序)比对,相等的话则把原串存入到到map中。map
[code]vector<vector<string>> groupAnagrams(vector<string>& strs) { unordered_map<string, vector<string>> hashMap; for(auto &v : strs) { string tmp(v); sort(tmp.begin(), tmp.end()); hashMap[tmp].push_back(v); } vector<vector<string>> result(hashMap.size()); int k = 0; for(auto it = hashMap.begin(); it != hashMap.end(); ++it, ++k) { result[k].swap(it->second); sort(result[k].begin(), result[k].end()); } return result; }
相关文章推荐
- maven
- JS+AJAX 实现用户登录
- Web.xml配置详解之context-param
- Ugly Number 寻找丑数 简单题
- SQL数据库增删改查基本语句
- iOS利用通知(NSNotification)进行传值
- vmware:Cannot open the disk 'XXX' or one of the snapshot disks it depends on.
- HDU 3605 Escape(多重匹配之多对多的匹配)
- iOS 辛格尔顿
- C# WebService动态调用
- SharePreferences 存储复杂类型数据
- cxf自定义返回错误信息
- Unity3D Terrain
- Vmware私有云虚拟机(CentOS 6.5 OS)之根分区扩容
- 博客园CSS代码
- Java调试的变迁:从System.out.println到log4j
- java web 登录后更新JSESSIONID
- ios语法——委托和协议
- HiveServer 与 HiveServer2
- 深入理解Java:SimpleDateFormat安全的时间格式化