LeetCode OJ: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"]
]
找出同字母的字符群,比较简单的方法就是用map实现,将每个字符排下序作为key就可以了,代码如下:
class Solution {
public:
vector<vector<string>> groupAnagrams(vector<string>& strs) {
vector<vector<string>> ret;
map<string, vector<string>> res;
string tmp;
for(int i = ; i < strs.size(); ++i){
tmp = strs[i]; //这里是关键
sort(tmp.begin(), tmp.end());
res[tmp].push_back(strs[i]);
}
vector<string> tmpVec;
for(typename map<string, vector<string>>::iterator it = res.begin(); it != res.end(); ++it){
sort(it->second.begin(), it->second.end());
}
for(typename map<string, vector<string>>::iterator it = res.begin(); it != res.end(); ++it){
tmpVec.clear();
if(it->second.size() >= )
for(int i = ; i < it->second.size(); i++){
tmpVec.push_back(it->second[i]);
}
ret.push_back(tmpVec);
}
return ret;
}
};
还有很多种实现方法实际上,以后再来一一实现
LeetCode OJ:Group Anagrams(同字符字符群)的更多相关文章
- [LeetCode] 49. Group Anagrams 分组变位词
Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...
- LeetCode 49 Group Anagrams(字符串分组)
题目链接: https://leetcode.com/problems/anagrams/?tab=Description Problem:给一个字符串数组,将其中的每个字符串进行分组,要求每个分 ...
- leetcode@ [49] Group Anagrams (Hashtable)
https://leetcode.com/problems/anagrams/ Given an array of strings, group anagrams together. For exam ...
- LeetCode - 49. Group Anagrams
49. Group Anagrams Problem's Link ------------------------------------------------------------------ ...
- [leetcode]49. Group Anagrams变位词归类
Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...
- [leetcode]49. Group Anagrams重排列字符串分组
是之前的重排列字符串的延伸,判断是重排列后存到HashMap中进行分组 这种HashMap进行分组的方式很常用 public List<List<String>> groupA ...
- [LeetCode] 249. Group Shifted Strings 分组偏移字符串
Given a string, we can "shift" each of its letter to its successive letter, for example: & ...
- [LeetCode] 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 ...
随机推荐
- SparkSQL程序设计
1.创建Spark Session val spark = SparkSession.builder . master("local") .appName("spark ...
- javascript对象继承
一.实例化和继承的区别 构造函数.原型和实例的关系:每 个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型 对象的内部指针. 类(Class)和实例(Insta ...
- 服务器抓包命令:tcpdump详解
官网地址:http://www.tcpdump.org/tcpdump_man.html 简介: tcpdump,就是:dump the traffic on a network,根据使用者的定义对网 ...
- Thinkphp5.0实战开发二------自动生成目录结构
序言 ThinkPHP5.0 具备自动创建功能,可以用来自动生成需要的模块及目录结构和文件等,自动生成主要调用\think\Build 类库.ThinkPHP5.0中模块文件夹在application ...
- tomcat结合nginx或apache做负载均衡及session绑定
1.tomcat结合nginx做负载均衡,session绑定 nginx:192.168.223.136 tomcat:192.168.223.146:8081,192.168.223.146:8 ...
- 尝试编辑java程序
尝试编译java程序 之前在用软件eclipse编译过简单的hello java程序,因为软件操作简单,后来学会了用命令符来编译程序.代码如下 public class abc { ...
- Springboot--配置文件注解
使用注解1 1.resouse中新建application.proprities jdbc.username=root jdbc.password=123 jdbc.driverClassName=f ...
- springboot集成shiro 前后端分离 统一处理shiro异常
在前后端分离的情况下,shiro一些权限异常处理会返回401之类的结果,这种结果不好统一管理.我们希望的结果是统一管理,所有情况都受我们控制 就算权限验证失败,我们也希望返回200,并且返回我们定义的 ...
- Mysql MariaDB安装
1.安装 本人使用的是CentOS 7 ,默认yum安装,但默认yum安装版本有点低,可根据需要选择升级,我这里选择先升级再安装. 更新yum //更新yum包 yum -y update 配置yum ...
- LA 3295 数三角形
https://vjudge.net/problem/UVALive-3295 题意: 数出n行m列的网格顶点能组成多少个三角形. 思路: 直接去数的话比较麻烦,这道题目是可以重复的,只要位置不同就可 ...