news 2026/5/11 18:15:30

LeetCode 热题 100--字母异位词分组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LeetCode 热题 100--字母异位词分组

题目:

解析:

核心思路

  • 字母异位词的特征:相同字母组成的不同单词,排序后会得到相同的字符串
  • 使用排序字符串作为哈希键:将每个单词排序后作为分组的唯一标识
  • 哈希表存储分组:键是排序后的字符串,值是对应的原始字符串列表

1.先创建一个哈希表用于存储分组,键是排序后的字符串,值是包含原始字符串的列表

2.将字符串转换为字符数组再排序,将排序后的字符串作为键

3.使用getOrDefault获取对应的列表(不存在则创建新列表)

4.将当前字符串添加到列表中

5.更新HashMap,将列表与hash表建立映射

class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String, List<String>> hash = new HashMap<String, List<String>>(); for (String str : strs) { char[] array = str.toCharArray(); Arrays.sort(array); String key = new String(array); List<String> list = hash.getOrDefault(key, new ArrayList<String>()); list.add(str); hash.put(key, list); } return new ArrayList<List<String>>(hash.values()); } }


char[] array = str.toCharArray();
作用:将字符串转换为字符数组

返回:char[] 字符数组

示例:"eat" → ['e','a','t']


Arrays.sort(array);
作用:对字符数组进行升序排序

原地修改:直接修改原数组,不返回新数组

排序后:['e','a','t'] → ['a','e','t']

List<String> list = hash.getOrDefault(key, new ArrayList<String>());
作用:获取指定key对应的值,如果不存在返回默认值

参数1:key - 要查找的键

参数2:defaultValue - key不存在时返回的默认值

返回:key对应的值或默认值

优点:避免空指针检查,代码简洁

hash.put(key, list);
作用:将键值对放入HashMap

如果key存在:更新对应的value

如果key不存在:添加新的键值对

返回:key先前关联的值(如果没有则返回null)

hash.values()
作用:返回HashMap中所有值的集合视图

返回类型:Collection<V>

特点:返回的是视图,不是新集合,修改会影响原Map

new ArrayList<>(collection)
new ArrayList<List<String>>(hash.values())

作用:使用集合初始化新的ArrayList

参数:一个集合(Collection)

特点:创建新列表,包含参数集合的所有元素

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/8 14:47:29

AI编曲软件激发歌曲创作灵感,原创音乐人轻松跨越思路障碍

AI编曲软件&#xff1a;原创音乐人的灵感催化剂 在音乐创作的领域中&#xff0c;编曲是一项至关重要且极具挑战性的工作。传统的人工编曲方式&#xff0c;虽然有着深厚的艺术底蕴和独特的人文气息&#xff0c;但也存在着一些难以避免的局限性。相比之下&#xff0c;AI编曲软件…

作者头像 李华
网站建设 2026/5/9 21:52:18

网络流量监控神器 , Wireshark看着太累了

如果你想知道电脑在后台偷偷连哪些服务器,但Wireshark那界面看着头疼。命令行工具吧,又不够直观。Sniffnet这个项目就是专门解决这个痛点的。GitHub上32.2K星了,Rust写的跨平台网络流量监控工具,界面漂亮得不像开源软件,功能还特别全。实时图表、地理位置、域名解析、自定义通知…

作者头像 李华
网站建设 2026/5/9 6:49:49

深蓝海域中标大型机电企业大模型知识工程平台项目

近日&#xff0c;深蓝海域凭借领先的大模型知识工程平台技术与深厚的行业服务经验&#xff0c;成功中标某国内重点轨道交通装备企业的知识管理系统升级服务项目。该项目旨在将大模型智能能力与企业知识管理体系深度融合&#xff0c;构建安全可控、智能高效的新一代企业知识中枢…

作者头像 李华
网站建设 2026/5/10 11:36:02

大型语言模型的 MOE 和 MOA

原文&#xff1a;towardsdatascience.com/moe-moa-for-large-language-models-c1cafeffd6a5?sourcecollection_archive---------8-----------------------#2024-07-16 寻求专家小组的建议 https://medium.com/rahulvir?sourcepost_page---byline--c1cafeffd6a5-------------…

作者头像 李华
网站建设 2026/5/2 9:34:43

普推知产:商标申请注册怎样风险低一些?

商标申请注册怎样风险低一些&#xff0c;让通过高些&#xff0c;普推知产商标老杨觉的这个核心就是商标名称&#xff0c;起名起合适了&#xff0c;通过就是高些&#xff0c;起名没起好&#xff0c;就有许多风险会被驳回。中小企业起的名称两三个字的基本上都是有相同或高度近似…

作者头像 李华