LeetCode 49. Group Anagrams
2016-01-21 01:21
471 查看
https://leetcode.com/problems/anagrams/
拿来练一练multimap
思路很简单,每个word都sort 然后根据这个结果决定放哪个multimap的元素
学到multimap的遍历方法啊,有点麻烦
class Solution {
public:
vector < vector<string> > groupAnagrams(vector<string>& strs) {
multimap < string, string > mp;
for(int i=0;i<strs.size();i++) {
string tmp = strs[i];
sort(tmp.begin(), tmp.end());
mp.insert(make_pair(tmp, strs[i]));
}
vector< vector<string> > ret;
for(multimap< string, string >::iterator itr=mp.begin(); itr != mp.end(); ) {
vector <string> tmp;
int count = mp.count((*itr).first );// (*itr).first
for(int i=0;i<count;i++) {
tmp.push_back( (*itr).second );
itr++;
}
sort(tmp.begin(), tmp.end());
ret.push_back(tmp);
}
return ret;
}
};
拿来练一练multimap
思路很简单,每个word都sort 然后根据这个结果决定放哪个multimap的元素
学到multimap的遍历方法啊,有点麻烦
class Solution {
public:
vector < vector<string> > groupAnagrams(vector<string>& strs) {
multimap < string, string > mp;
for(int i=0;i<strs.size();i++) {
string tmp = strs[i];
sort(tmp.begin(), tmp.end());
mp.insert(make_pair(tmp, strs[i]));
}
vector< vector<string> > ret;
for(multimap< string, string >::iterator itr=mp.begin(); itr != mp.end(); ) {
vector <string> tmp;
int count = mp.count((*itr).first );// (*itr).first
for(int i=0;i<count;i++) {
tmp.push_back( (*itr).second );
itr++;
}
sort(tmp.begin(), tmp.end());
ret.push_back(tmp);
}
return ret;
}
};
相关文章推荐
- BZOJ 3262(陌上花开-排序+cdq+树状数组)
- vcxsrv
- oracle 事务 第二弹
- VC2010打开资源视图时提示“指南必须指定类型”,.rc资源文件损坏(转)
- 自定义modal动画
- web 环境项目(intellj部署的tomcat) 重启时报 Exception in thread "HouseKeeper" java.lang.NullPointerException (转)
- oracle 事务 第一弹
- hdu 1421 搬寝室(dp)
- oracle 事务 锁机制
- 【JS复习笔记】03 继承
- ai论文调研——PAMI Popular Articles (December 2015)
- Codeforce 445(A,B,C,D,E)
- ios项目中安装和使用CocoaPods
- oracle 锁机制
- leetcode笔记:Range Sum Query - Mutable
- 使用 Dojo 显示表格数据,并带筛选(filter)功能
- Ehcache详细解读(转)
- iOS判断对象相等 重写isEqual、isEqualToClass、hash
- HDU 1043 Eight(八数码第三境界|广搜+哈希+打表)
- Linux下程序开头要加上signal(SIGPIPE, SIG_IGN);