LeetCode OJ 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.
解答
作为一个爸爸,就算生病也要更博。
这题很水啊,对每个字符串中的字符做个排序,这样同字母异序词就会变成同字母同序词了,然后用一个map把同字母异序词存储在一个pair下,就OK了。
下面是AC的代码:
class Solution {
public:
map<string, vector<string>> hashset;
vector<vector<string>> groupAnagrams(vector<string>& strs) {
for(vector<string>::iterator iter = strs.begin(); iter != strs.end(); iter++){
string s = *iter;
char *temp_str = (char *)(iter->c_str());
sort(temp_str, temp_str + strlen(temp_str));
map<string, vector<string>>::iterator temp_iter = hashset.find(string(temp_str));
if(temp_iter != hashset.end()){
(temp_iter->second).push_back(s);
}
else{
vector<string> new_vector;
new_vector.push_back(s);
hashset.insert(pair<string, vector<string>>(string(temp_str), new_vector));
}
}
vector<vector<string>> ans;
for(map<string, vector<string>>::iterator iter = hashset.begin(); iter != hashset.end(); iter++){
ans.push_back(iter->second);
}
return ans;
}
};
109
LeetCode OJ 49. Group Anagrams的更多相关文章
- 【一天一道LeetCode】#49. Group Anagrams
一天一道LeetCode系列 (一)题目 Given an array of strings, group anagrams together. For example, given: [" ...
- 【LeetCode】49. Group Anagrams 解题报告(Python & Java & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 排序+hash 日期 题目地址:https://le ...
- 【LeetCode】49. Group Anagrams
题目: Given an array of strings, group anagrams together. For example, given: ["eat", " ...
- LeetCode OJ:Group Anagrams(同字符字符群)
Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...
- LeetCode:49. Group Anagrams(Medium)
1. 原题链接 https://leetcode.com/problems/group-anagrams/description/ 2. 题目要求 给定一个字符串数组,将数组中包含相同字母的元素放在同 ...
- Python 解leetcode:49. Group Anagrams
题目描述:给出一个由字符串组成的数组,把数组中字符串的组成字母相同的部分放在一个数组中,并把组合后的数组输出: 思路: 使用一个字典,键为数组中字符串排序后的部分,值为排序后相同的字符串组成的列表: ...
- LeetCode - 49. Group Anagrams
49. Group Anagrams Problem's Link ------------------------------------------------------------------ ...
- 49. Group Anagrams - LeetCode
Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List&l ...
- 刷题49. Group Anagrams
一.题目说明 题目是49. Group Anagrams,给定一列字符串,求同源词(包含相同字母的此)的集合.题目难度是Medium. 二.我的做法 题目简单,就不多说,直接上代码: class So ...
随机推荐
- sersync+rsync实现服务器文件实时同步
sersync+rsync实现服务器文件实时同步 一.为什么要用rsync+sersync架构? 1.sersync是基于inotify开发的,类似于inotify-tools的工具 2.sersyn ...
- 十二省NOI“省选”联考模测(第二场)A抽卡大赛
/* dp维护整体的概率, 每次相当于回退一格然后重新dp一格 */ #include<cstdio> #include<algorithm> #include<iost ...
- Spring中@Component的作用
今天在写程序的时候看见一个以前没有见过的注解(@Component),在网上查找过后,经过实践,决定把它记录下来. 1.@controller 控制器(注入服务) 用于标注控制层,相当于struts中 ...
- 初识vuejs
转行前端,时间也不短了,也见识到了前端行业的蓬勃发展,以及一些新鲜技术的层出不穷. 由于自身计算机基础的薄弱,更加上一直没有遇上一个公司力推新技术,所以一直以来基本上都是靠着jquery和则zepto ...
- 关于QTcreator出现不能包含头文件的解决
调试出现不能包含“某某.h文件”当增加次文件时候,还会出现另一个不能包含“某某.h”文件. 问题解决:由于VS2015和QT的冲突导致(不完全),下载不关联VS的QT版本再进行安装就可以啦.
- ES6中新增字符串方法,字符串模板
多了两个新方法 startsWith endsWith 返回的是一个Boolean值 let str='git://www.baidu.com/2123123'; if(str.startsWith( ...
- Java压缩图片的实现类
package com.function; import java.awt.geom.AffineTransform; import java.awt.image.AffineTransformOp; ...
- CMD下的netstat命令
查询端口启用情况 netstat -ano|findstr 80
- 5.分析mitmproxy的优势及工具mitmdump的使用(参照书籍)
mitmproxy优势:功能和charles.fiddler相似,强大之处在于它的工具 mitmdump 可以直接对接python 对请求做处理. mitmdump使用 : 1.mitmdump是mi ...
- yii表单输入元素
InputElement http://www.yiichina.com/api/CFormInputElement CFormInputElement 可以代表以下基于type属性的表单输入类型: ...