探索“我爱搞52g”的无限可能:技术、生活与未来的奇妙融合

核心内容摘要

亚洲之巅:探索数字娱乐新纪元,尽享极致视听盛宴
圣女黄金:穿越时空的璀璨,点亮永恒的传说

久久久久久91

给你一个字符串数组请你将 字母异位词 组合在一起。

可以按任意顺序返回结果列表。

示例 1:输入:strs [eat, tea, tan, ate, nat, bat]输出:[[bat],[nat,tan],[ate,eat,tea]]解释在 strs 中没有字符串可以通过重新排列来形成bat。

字符串nat和tan是字母异位词因为它们可以重新排列以形成彼此。

字符串ateeat和tea是字母异位词因为它们可以重新排列以形成彼此。

示例 2:输入:strs []输出:[[]]示例 3:输入:strs [a]输出:[[a]]提示1 strs.length 1040 strs[i].length 100strs[i]仅包含小写字母直接上代码看不懂请私信或留言class Solution { public ListListString groupAnagrams(String[] strs) { ListListString ans new ArrayList(); if(strs.length

{ ans.add(new ArrayList()); ans.get(

.add(strs[0]); return ans; } MapString, ListString map new HashMap(); /**如果大于1个遍历一下遍历的过程中统计每个字母的词频然后按照从a到z的顺序拼接比如a出现两次拼接aa都拼接完存入map以拼接完的string对应的list*/ for(String str : strs) { char[] sArr str.toCharArray(); int[] count new int[26]; /**统计字符出现的频次 */ for(char c : sArr) { count[c - a] ; } /**统计完之后拼接字符串*/ StringBuilder sb new StringBuilder(); for(int i 0; i count.length; i) { for(int j 0; j count[i]; j ) { sb.append((char)(a i)); } } String strCur sb.toString(); /**拿到按az的顺序排序后对应的list有就拿原来的没有就建个新的*/ ListString strList map.getOrDefault(strCur, new ArrayList()); /**把当前单词加入 */ strList.add(str); /**别忘了put这是针对新建list的情况如果不put的话map里就不存在 */ map.put(strCur, strList); } /**map的values是我们的各个异位词的list */ for(ListString list : map.values()) { ans.add(list); } return ans; } }运行结果有优化的空间面试肯定能过懒得搞了

女生和男生在一起努力产生豆浆-女生和男生在一起努力产生豆浆应用

百度百家号客服电话人工服务

123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123 123