给定一串字符串,将字母组合在一起。
来源:互联网 发布:日语红宝书蓝宝书知乎 编辑:程序博客网 时间:2024/05/17 21:43
本题源自leetcode
--------------------------------------------------
例如::["eat", "tea", "tan", "ate", "nat", "bat"]
,
返回:[ ["ate", "eat","tea"],["nat","tan"], ["bat"] ]
思路:
1 用一个map做映射,map<string,multiset<string>> 用 set 可以包含重复的还有序。遍历数组把每一个字符串排序,然后按排序的字符串为键,源字符串为值存入map,
2 最后遍历map 所有有相同字符的串都在一个set中
代码:
vector<vector<string>> groupAnagrams(vector<string>& strs) { vector<vector<string>> result; map<string,multiset<string>> mp; for(int i=0;i<strs.size();i++){ string t=strs[i]; sort(t.begin(),t.end()); mp[t].insert(strs[i]); } for(auto m:mp){ vector<string> tmp(m.second.begin(),m.second.end()); result.push_back(tmp); } return result; }
阅读全文
0 0
- 给定一串字符串,将字母组合在一起。
- 任意给定的一串字母,统计字符串里面的大写字母和小写字母的个数。
- 打印给定一字符串的所有字母组合——递归实现
- 三字母字符串组合
- c语言从键盘中输入一串字符串,将字符中的大写转化成小写字母,将小写字母转换成大写字母,以*号键结束
- 输一串字符串将字符串颠倒输出
- 给定一个字符串,问是否能通过添加一个字母将其变为回文串。
- 给定一个字符串,问是否能够通过添加一个字母将其变成“回文串”
- 数据组合?将id相同的人员姓名组合在一起
- 将一串字符串进行从小到大排序
- 输入一串字符串,将其逆向输出
- c++将一串字符串转数字
- shell 将相同字母后面的数字相加在一起
- 给定一个数字字符串,返回数字可能表示的所有可能的字母组合。数字与字母的对应关系和手机按键对应。
- 华为上机笔试之通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- 通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。
- double的不精确运算的解决方法 BigDecimal的使用
- XUtils之注解机制详解
- 二叉树---(2)二叉查找树之Java实现
- python里比较流行的ORM框架:sqlalchemy
- Linux Centos7下如何卸载MySQL或Mariadb程序
- 给定一串字符串,将字母组合在一起。
- Java集合总结
- 三年职业规划
- Delphi执行CMD命令
- Spark Scala算子
- 代码正确情况下,mainbundle 加载文件失败
- NSString各种玩转
- 本地代码回滚
- 必读|提高代码阅读能力的七种实用方法