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"]
]
Note: All inputs will be in lower-case.
===============
Anagram,相同字母异序词
返回所有的组合
思路:利用hashmap创建一个key-value数据结构,unordered_map<string,int> m;
m的键值是排完序的字符串,value值是vector<vector<string>> re返回值的下标,
这样对于每一个字符串,先对其排序,然后在哈希表中查找,是否有相对应的字符串,
如果有,那么就在re相应位置中插入单词
否则,新建一个字符数组,插入re中.
========
代码:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string>> re;
if(strs.empty()) return re;
unordered_map<string,int> m;
int k = ;
for(size_t i = ;i<strs.size();i++){
string tmp = strs[i];
sort(tmp.begin(),tmp.end());
unordered_map<string,int>::iterator mit = m.find(tmp);
if(mit == m.end()){
vector<string> t;
t.push_back(strs[i]);
m[tmp] = k++;
re.push_back(t);
}else{
re[m[tmp]].push_back(strs[i]);
}
}///for
for(size_t i = ;i<re.size();i++){
sort(re[i].begin(),re[i].end());
}
for(auto i:re){
for(auto j:i){
cout<<j<<" ";
}cout<<endl;
}cout<<endl;
return re;
}
===========
49. Group Anagrams的更多相关文章
- LeetCode - 49. Group Anagrams
49. Group Anagrams Problem's Link ------------------------------------------------------------------ ...
- 刷题49. Group Anagrams
一.题目说明 题目是49. Group Anagrams,给定一列字符串,求同源词(包含相同字母的此)的集合.题目难度是Medium. 二.我的做法 题目简单,就不多说,直接上代码: class So ...
- 49. Group Anagrams - LeetCode
Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List&l ...
- leetcode@ [49] Group Anagrams (Hashtable)
https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. For exam ...
- 【LeetCode】49. Group Anagrams
题目: Given an array of strings, group anagrams together. For example, given: ["eat", " ...
- 【一天一道LeetCode】#49. Group Anagrams
一天一道LeetCode系列 (一)题目 Given an array of strings, group anagrams together. For example, given: [" ...
- [leetcode]49. Group Anagrams变位词归类
Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...
- LeetCode OJ 49. Group Anagrams
题目 Given an array of strings, group anagrams together. For example, given: ["eat", "t ...
- 49. Group Anagrams (string, HashTable)
Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...
随机推荐
- spring学习笔记---Jackson的使用和定制
前言: JAVA总是把实体对象(数据库/Nosql等)转换为POJO对象再处理, 虽然有各类框架予以强力支持. 但实体对象和POJO, 由于"饮食习惯", "民族特色 ...
- Ionic基础——侧边栏ion-side-menus 以及ion-tap结合侧边栏详解
一. 侧边栏菜单 : ion-side-menus 侧边栏菜单是一个最多包含三个子容器的元素: 默认情况下,侧边栏菜单将只显示ion-side-menu-content容器的内容. 向左滑动时,将显示 ...
- 团队项目计划backlog
一.团队成员 组长: 程琪芩:http://www.cnblogs.com/chengqiqin07/ 成员: 郝 颖:http://www.cnblogs.com/haoying1994/ 李 ...
- urlscan使用详解
0x01 简介与下载 URLScan是集成在IIS上的,可以制约的HTTP请求的安全工具.通过阻止特定的HTTP请求,URLScan安全工具有助于防止潜在的有害的请求到达服务器上的应用. 最新版UR ...
- UVa 400
一开始没怎么看懂题目,原来就是M字符就是这一列的宽度为M个字符,包括空格. #include<iostream> #include<algorithm> #include< ...
- 工作中遇到的问题--使用DTO减少数据字段
Location中包含如下字段以及AMfgObject中关于创建信息的字段,然而有时使用并不需要传输那么多数据,则对其中字段进行过滤. @Entity@Table(name = "LOCAT ...
- MongoDB副本集搭建及备份恢复
一.MongoDB副本集(repl set)介绍 早起版本使用master-slave,一主一从和MySQL类似,但slave在此架构中为只读,当主库宕机后,从库不能自动切换为主: 目前已经淘汰了ma ...
- 对 Android 开发者有益的 40 条优化建议
本文转载于:http://www.oschina.net/translate/40-developer-tips-for-android-optimization?cmp 下面是开始Android编程 ...
- caffe: test code 执行出问题: Check failed: FLAGS_weights.size() > 0 (0 vs. 0) Need model weights to score.
Check failed: FLAGS_weights.size() > 0 (0 vs. 0) Need model weights to score. 出现这个错误,但是我记得昨天还好好的, ...
- [unity3d程序] 颜色渐变效果
研究了下,颜色变化时遵从RGB圆环(就是说颜色条对接一下成环)路径最小变化原则.举个例子,加入ABCDE四个颜色点,并且A和E在同一点(转了一圈)设定从A变化到C的话,有两种路径,一种ABC,还一种A ...