leetcode No49. Group Anagrams
来源:互联网 发布:网络机顶盒排行榜 编辑:程序博客网 时间:2024/06/15 07:14
Question:
Given an array of strings, group anagrams together.
For example, given: ["eat", "tea", "tan", "ate", "nat", "bat"]
,
Return:
[ ["ate", "eat","tea"], ["nat","tan"], ["bat"]]
把具有相同元素单词放一类
Algorithm:
编程珠玑2.4节有讲解:
关键问题有2个,一个是使具有相同变位词类中的单词具有相同的标识,另一个是集中具有相同标识的单词
那么解题方法就出来了:
1、排序
2、关键问题是如何把具有相同字母的单词归到一类
我们可以把单词内部排序,具有相同字母的单词则相等了
3、hash Table
map<string,vector<string>> hash; //map->first是排序后的单词,map->second是具有相同字母的单词
Accepted Code:
class Solution {public: vector<vector<string>> groupAnagrams(vector<string>& strs) { vector<vector<string>> res; unordered_map<string,vector<string>> hash; //不需要用map for(int i=0;i<strs.size();i++) { string s=strs[i]; sort(s.begin(),s.end()); hash[s].push_back(strs[i]); } unordered_map<string,vector<string>>::iterator it=hash.begin(); for(;it!=hash.end();it++) res.push_back(it->second); return res; }};
0 0
- leetcode No49. Group Anagrams
- LeetCode Group Anagrams
- Leetcode#49||Group Anagrams
- [LeetCode] Group Anagrams
- [leetcode] 49.Group Anagrams
- LeetCode题解:Group Anagrams
- [leetcode] Group Anagrams
- LeetCode-Group Anagrams
- LeetCode OJ:Group Anagrams
- [Leetcode]Group Anagrams
- 《leetCode》:Group Anagrams
- leetcode | Group Anagrams
- leetcode 49:Group Anagrams
- LeetCode -- Group Anagrams
- LeetCode---Group Anagrams
- leetcode Group Anagrams
- Leetcode 49: Group Anagrams
- LeetCode Group Anagrams
- centos 安装 mysql
- LeetCode - 169. Majority Element
- 派生类中构造函数与虚构函数的研究
- Apache Commons Email组件介绍使用
- 百练 10 迷宫问题
- leetcode No49. Group Anagrams
- Belarusian State University & Kazakhstan Contest D Contest
- STM32学习笔记之中断向量表,MDK程序启动分析
- 以下代码共调用多少次拷贝构造函数:
- pair与排序
- Java学习笔记1——集合
- 【一天一道LeetCode】#223. Rectangle Area
- STM32经验心得(一)
- Java 线程池框架核心代码分析