内容简介:Given an array of strings, group anagrams together.Example:Note:
Given an array of strings, group anagrams together.
Example:
Input: ["eat", "tea", "tan", "ate", "nat", "bat"], Output: [ ["ate","eat","tea"], ["nat","tan"], ["bat"] ]
Note:
All inputs will be in lowercase.
The order of your output does not matter.
难度:medium
题目:给定一个字符串数组,将 颠倒字母而成的单词 组合在一起。
注意:所有输入都为小写字母
思路:都按字母序排序。
Runtime: 14 ms, faster than 85.30% of Java online submissions for Group Anagrams.
Memory Usage: 34.1 MB, less than 16.58% of Java online submissions for Group Anagrams.
class Solution {
public List<List<String>> groupAnagrams(String[] strs) {
Map<String, List<String>> msl = new HashMap<>();
for (int i = 0; i < strs.length; i++) {
char[] sc = strs[i].toCharArray();
Arrays.sort(sc);
String ns = new String(sc);
msl.putIfAbsent(ns, new ArrayList<String>());
msl.get(ns).add(strs[i]);
}
return new ArrayList(msl.values());
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
加密与解密(第4版)
段钢 / 电子工业出版社 / 2018-10-1 / 198
《加密与解密(第4版)》以加密与解密为切入点,讲述了软件安全领域的基础知识和技能,如调试技能、逆向分析、加密保护、外壳开发、虚拟机设计等。这些知识彼此联系,读者在掌握这些内容之后,很容易就能在漏洞分析、安全编程、病毒分析、软件保护等领域进行扩展。从就业的角度来说,掌握加密与解密的相关技术,可以提高自身的竞争能力;从个人成长的角度来说,研究软件安全技术有助于掌握一些系统底层知识,是提升职业技能的重要......一起来看看 《加密与解密(第4版)》 这本书的介绍吧!