当前位置: 首页 > news >正文

Hot100 - 字母异位词分组

Hot100 - 字母异位词分组

image-20241126235705044

最佳思路:排序

时间复杂度: O(nmlogm),其中 nstrs 数组的长度,m 为每个字符串的长度。

代码:

class Solution {public List<List<String>> groupAnagrams(String[] strs) {Map<String, List<String>> map = new HashMap<>();for (String str : strs) {char[] s = str.toCharArray();Arrays.sort(s); // 对字母排序String sortedStr = new String(s); // 排序后的字符串作为keymap.computeIfAbsent(sortedStr, k -> new ArrayList<>()).add(str);}return new ArrayList<>(map.values());}
}

思路:

  1. 排序每个字符串:首先对每个字符串的字母进行排序,排序后的结果作为唯一标识符(key)。
  2. 使用 Map 存储:将排序后的字符串作为 key,原始字符串作为值存入 Map。使用 computeIfAbsent 方法可以简化代码,避免多次检查和更新 Map
  3. 最终返回 Map 中所有的字母异位词组。

http://www.lryc.cn/news/491917.html

相关文章:

  • 力扣hot100-->排序
  • 【VRChat 全身动捕】VIVE 手柄改 tracker 定位器教程,低成本光学动捕解决方案(持续更新中2024.11.26)
  • 【Nginx】核心概念与安装配置解释
  • Qt界面篇:QMessageBox高级用法
  • 【二叉树】【2.1遍历二叉树】【刷题笔记】【灵神题单】
  • Mongo数据库 --- Mongo Pipeline
  • Adobe Illustrator 2024 安装教程与下载分享
  • javax.xml.ws.soap.SOAPFaultException: ZONE_OFFSET
  • 常用的数据结构
  • javaweb-day01-html和css初识
  • C++11特性(详解)
  • 基于Springboot的心灵治愈交流平台系统的设计与实现
  • 初识java(2)
  • AIGC--AIGC与人机协作:新的创作模式
  • Wonder3D本地部署到算家云搭建详细教程
  • 【设计模式】【行为型模式(Behavioral Patterns)】之状态模式(State Pattern)
  • QML学习 —— 34、视频媒体播放器(附源码)
  • 【深度学习|特征增强模块】FFN(前馈神经网络)和E_FFN(增强型前馈神经网络)是transformer特征增强的重要组成部分!
  • 【Qt】控件7
  • F12抓包14_修改网页图片网页保存到本地
  • 源代码检测,内附实际案例
  • 1138:将字符串中的小写字母转换成大写字母
  • 《C++ 人工智能模型邂逅云平台:集成之路的策略与要点全解析》
  • 【ArcGISPro】Sentinel-2数据处理
  • Unity中的简易TCP服务器/客户端
  • Spring Boot 3.4 正式发布,结构化日志!
  • 技术文档,they are my collection!
  • 详解Qt之QtMath Qt数学类
  • 人工智能与人类:共创未来的新篇章
  • 4.6 JMeter HTTP信息头管理器