Middle-题目83:49. Group Anagrams
来源:互联网 发布:从1688复制到淘宝店 编辑:程序博客网 时间:2024/05/22 17:14
题目原文:
Given an array of strings, group anagrams together.
For example, given: [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”],
Return:
[ ["ate", "eat","tea"], ["nat","tan"], ["bat"]]
题目大意:
给出一个字符串数组,将所有的同构词分组。
题目分析:
使用一个HashMap,其中key是每个同构词的最小字典序序列,例如ate,eat,tea的key都是aet,value是一个list,记录该key的同构词(排序后与key相同的都加入value对应的list中),然后根据key对字符串分组。
源码:(language:java)
public class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> map = new HashMap<String, List<String>>(); for(String str : strs) { char[] carr = str.toCharArray(); // 将单词按字母排序 Arrays.sort(carr); String key = new String(carr); List<String> list = map.get(key); if(list == null) { list = new ArrayList<String>(); } list.add(str); map.put(key, list); } List<List<String>> res = new ArrayList<List<String>>(); for(String key : map.keySet()) { List<String> curr = map.get(key); Collections.sort(curr); // 将列表按单词排序 res.add(curr); } return res; }}
成绩:
26ms,beats 73.2%,众数33ms,8.78%
Cmershen的碎碎念:
原来我的思路是每加入一个字符串的时候,就比较和哪个字符串是同构关系,但因为每次都比较,在数据量大的时候会tle,参考leetcode中构造HashMap的方法解决超时问题。因为每次只需要和一个key比较就可以了。
0 0
- Middle-题目83:49. Group Anagrams
- LeetCode算法题目:Group Anagrams
- 49. Group Anagrams
- [leetcode] 49.Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- [LeetCode]49. Group Anagrams
- leetcode 49. Group Anagrams
- 49. Group Anagrams LeetCode
- 49. Group Anagrams
- 49. Group Anagrams
- 49. Group Anagrams
- Leetcode 49. Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- 49. Group Anagrams
- 49. Group Anagrams
- LeetCode 49. Group Anagrams
- C++之中this指针与类的六个默认函数小结
- c++实现冒泡排序
- 对象序列化对于一个对象被多个对象共享的处理方法
- 第17课:Spark Streaming资源动态申请和动态控制消费速率原理剖析
- laravel5.2.3入门(一)
- Middle-题目83:49. Group Anagrams
- HDU 还是畅通工程
- C#在线预览文档(word,excel,pdf,txt,png)
- Java字符串截取
- 如何阅读java项目的源代码
- 欢迎使用CSDN-markdown编辑器
- Android5.0改变support中AlertDialog的样式
- Android自定义竖直SeekBar Android5.0可以用
- android:configChanges="screenSize | orientation | keyboardHidden"