49. Group Anagrams
来源:互联网 发布:模糊pid控制算法程序 编辑:程序博客网 时间:2024/05/22 12:24
/*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: All inputs will be in lower-case.思路: 使用hash表来存储这些字符串,每个string进行排序得到一个键值,拥有 相同字符组成的字符串拥有相同的键值,把这些字符串存入到同一个键值指向的 容器中;然后遍历hash表来组成需要返回的信息格式。iterator迭代器,可用于容器遍历;迭代器指向容器中的某个元素,如果需要访问该元素,需要解引用来访问迭代器所指向的元素,例如: vector<int> v={1,2,3}; vector<int>::iterator it=v.begin();//it指向v中的第一个元素 cout<<*it;//通过“*”解引用迭代器访问v中的元素*/#include <stdio.h>#include <iostream>#include <string>#include <sstream>#include <vector>#include <algorithm>#include <unordered_map>#include <set>using namespace std;class Solution {public: vector<vector<string> > groupAnagrams(vector<string>& strs) { unordered_map<string, vector<string> > mp; for(int i=0;i<strs.size();i++) { string t = strs[i]; sort(t.begin(), t.end()); mp[t].push_back(strs[i]); } vector<vector<string>> anagrams; for(unordered_map<string, vector<string>>::iterator m=mp.begin();m!=mp.end();m++) { vector<string> anagram(m->second.begin(), m->second.end()); anagrams.push_back(anagram); } return anagrams; }};int main(){ Solution mys;vector<std::vector<string>> res;vector<string> strs={"abc","add","bca"};res=mys.groupAnagrams(strs);for(int i=0;i<res.size();i++){for(int j=0;j<res[i].size();j++)cout<<res[i][j]<<" "; cout<<endl;}// unordered_map<string, vector<string>> mp;// mp["h"].push_back("hello");// mp["h"].push_back("hello");// mp["g"].push_back("gg");// for(unordered_map<string, vector<string>>::iterator m=mp.begin();m!=mp.end();m++) // for(vector<string>::iterator it=m->second.begin();it!=m->second.end();it++)// cout<<*it<<endl;// int b=90;// auto aa=b;// cout<<aa<<endl;//cout<<mp["h"]<<endl; return 0;}
阅读全文
0 0
- 49. Group Anagrams
- [leetcode] 49.Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- [LeetCode]49. Group Anagrams
- leetcode 49. Group Anagrams
- 49. Group Anagrams LeetCode
- 49. Group Anagrams
- 49. Group Anagrams
- 49. Group Anagrams
- Leetcode 49. Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- 49. Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- [leetcode] 49. Group Anagrams
- LeetCode 49. Group Anagrams
- HDOJ2112 最短路简单题
- hibernate抓取策略
- svn入门
- Base64编码及其作用
- HTML笔记(一)bootstrap之网格
- 49. Group Anagrams
- python之网页自动打卡
- Spring 报错提示:Failed to read candidate component class
- hibernate
- radioButton单选按钮的实现
- linux c++ kill进程
- linux学习笔记(4)- linux目录配置和linux支持的文件系统
- Swift tableviewcell左滑删除
- CleanMyMac全面清理MacBook操作系统