算法9 Group Anagrams
来源:互联网 发布:淘宝有情侣网店吗 编辑:程序博客网 时间:2024/06/01 10:14
题目:给出一组字符串,把 字母相同顺序不同的词 分成一类
例如,给出: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],
返回:
[ ["ate", "eat","tea"], ["nat","tan"], ["bat"]]
思路:对数组遍历,取出每个字符串进行排序,将排序过后相同的字符串作为Map的key传入,然后value传入排序之前的字符串的集合。
代码:
public List<List<String>> groupAnagrams(String[] strs) { //若输入为空则直接返回 if (strs == null || strs.length == 0) return new ArrayList<List<String>>(); Map<String, List<String>> map = new HashMap<String, List<String>>(); Arrays.sort(strs); for (String s : strs) { char[] c = s.toCharArray(); //取出每个字符串进行排序 Arrays.sort(c); String keyStr = String.valueOf(c); //排序过后相同的字符串作为Map的key传入 if (!map.containsKey(keyStr)) map.put(keyStr, new ArrayList<String>()); //value传入排序之前的字符串的集合 map.get(keyStr).add(s); } return new ArrayList<List<String>>(map.values());}
阅读全文
0 0
- 算法9 Group Anagrams
- LeetCode算法题目:Group Anagrams
- [LeetCode]49. Group Anagrams &&哈希算法
- 算法系列——Group Anagrams
- Group Anagrams
- Group Anagrams(***)
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- Group Anagrams
- <i></i>为0*0时,显示背景
- ci框架&tp框架隐藏index.php
- 27 个Jupyter Notebook的小提示与技巧
- Java基础总结
- 生产计划管理软件功能是什么?对生产管理有何好处?
- 算法9 Group Anagrams
- 三行代码实现 TabLayout+ViewPager 的 Tab 滑动效果,从封装到开源
- oracle中存储过程的三种异常捕获方式
- JDK7中Runnable和Callable源码概述
- RecyclerView与ScrollView嵌套,抢占焦点的问题
- Linux下VSFTPD配置全方案
- class path resource [spring-mvc.xml] cannot be opened because it does not exist
- redis与spring cache集成
- Android抽象任务管理框架QTaskManager及其使用方式介绍