news 2026/5/13 19:55:04

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/14 12:00:17

AI模型推理延迟突增?架构师教你:模型轻量化+缓存优化应急响应技巧

AI模型推理延迟突增?架构师教你:模型轻量化+缓存优化应急响应技巧 关键词:AI模型、推理延迟、模型轻量化、缓存优化、应急响应、架构设计、性能优化 摘要:本文主要探讨当AI模型推理延迟突然增加时,如何通过模型轻量化与缓存优化的应急响应技巧来解决问题。首先介绍相关背景…

作者头像 李华
网站建设 2026/5/12 22:23:34

难绷!和阿里 P11/P12 约会相亲?女网友竟称“也没那么难钓嘛”

今日份趣图&#xff0c;属于小某书上推某软件的软文帖子了。28 岁的 P11&#xff0c;29 岁的 P12……忒离谱了&#xff01;大模型出幻觉后都不如她。不懂大厂职级体系&#xff0c;你随便抓个大模型问就知道的嘛我抓了一个问了&#xff0c;知名的 P11 和 P12 年龄大概如下&#…

作者头像 李华
网站建设 2026/5/12 22:23:33

Waymo融资160亿美元:估值1260亿美元 红杉与DST领投

雷递网 乐天 2月3日自动驾驶出租车先驱Waymo宣布筹集160亿美元&#xff0c;投后估值达到1260亿美元。当前&#xff0c;Waymo正在打造覆盖全球的自动驾驶车队&#xff0c;而其他财力雄厚的竞争对手&#xff0c;例如特斯拉和亚马逊&#xff0c;则正努力追赶。除Alphabet作为主要投…

作者头像 李华
网站建设 2026/5/10 18:34:46

LeakCanary 使用经验分享

文章目录 1. 集成配置 基本依赖配置 自定义配置 2. 使用经验总结 2.1 检测时机 2.2 常见泄漏场景识别 3. 实际项目经验 3.1 误报处理 3.2 自定义排除规则 4. 最佳实践 4.1 版本管理 4.2 性能考虑 4.3 团队协作 5. 高级配置技巧 5.1 自定义 Heap Dumper 5.2 监听检测结果 6. 常见…

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

【软考每日一练030】软件维护:逆向工程与再工程的区别与联系

【软考每日一练030】软件维护&#xff1a;逆向工程与再工程的区别与联系 一、 题目回顾 6. ( ) 是在逆向工程所获取信息的基础上修改或重构已有的系统&#xff0c;产生系统的一个新版本。 A. 逆向分析 (Reverse Analysis) B. 重组 (Restructuring) C. 设计恢复 (Design Reco…

作者头像 李华