leetcode-49. Group Anagrams
来源:互联网 发布:docker golang开发环境 编辑:程序博客网 时间:2024/06/10 21:56
leetcode-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”]
]
这题本身并没有什么特别灵巧的算法。但是这里需要说明一下。java里面hash算法如果自己没有重写hash的话,基本上是根据对象来分的,就算是内容一样不是同一个对象也会有不同的hash值。但是String之类的是除外的,因为String实际上在hashmap里有一套专门的散列方式。因为按照常规的散列方式安全性太低了。
public class Solution { public List<List<String>> groupAnagrams(String[] strs) { HashMap<String,List<String>> map = new HashMap<String,List<String>>(); for(String os: strs){ char[] s = os.toCharArray(); Arrays.sort(s); String k = new String(s); if(map.containsKey(k)){ map.get(k).add(os); }else{ List<String> t = new ArrayList<String>(); t.add(os); map.put(k,t); } } List<List<String>> ret = new ArrayList<List<String>>(); for(String key : map.keySet()){ ret.add(map.get(key)); } return ret; }}
0 0
- [leetcode] 49.Group Anagrams
- LeetCode 49. Group Anagrams
- [LeetCode]49. Group Anagrams
- leetcode 49. Group Anagrams
- 49. Group Anagrams LeetCode
- Leetcode 49. Group Anagrams
- LeetCode 49. Group Anagrams
- LeetCode 49. Group Anagrams
- [leetcode] 49. Group Anagrams
- LeetCode 49. Group Anagrams
- LeetCode-49.Group Anagrams
- [Leetcode] 49. Group Anagrams
- LeetCode - 49. Group Anagrams
- [LeetCode] 49. Group Anagrams
- leetcode 49. Group Anagrams
- [leetcode] 49. Group Anagrams
- leetcode 49. Group Anagrams
- [LeetCode]--49. Group Anagrams
- mysql下存储过程与定时器
- wireshark抓包详细图文教程
- mysql实现读写分离中间件Amoeba
- YOJ2018:约瑟夫问题
- 推荐系统:技术、评估及高效算法 第5章
- leetcode-49. Group Anagrams
- 设计网站集合
- scala中的函数
- CentOS搭建DNS服务器(四)
- ubuntu下安装tensorflow
- POJ 3669 Meteor Shower 已被翻译
- 内核模块操作
- 什么是地图引擎和导航引擎
- 链表初步(改)