news 2026/5/8 20:23:49

hot100 2.字母异位词分组

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
hot100 2.字母异位词分组

思路:哈希表分组。

1.题目要求:如果两个字符串从小到大排序后相等,那么这两个字符串就互为字母异位词,否则不是。

2.举例:以示例1为例。输入:strs = [eat,tea,tan,ate,nat,bat]。

(1)每个字符串各自排序,得到aet,aet,ant,aet,ant,abt。

(2)把排序后相同的字符串分到同一组:

——排序后是aet的字符串,排序前是eat,tea,ate。

——排序后是ant的字符串,排序前是tan,nat。

——排序后是abt的字符串,排序前是bat。

(3)因此,示例1返回的二维列表中,包含三个列表,分别为:[eat,tea,ate],[tan,nat],[bat],三个列表的顺序随意。

附代码:

class Solution { public List<List<String>> groupAnagrams(String[] strs) { Map<String,List<String>> map = new HashMap<>(); for(int i = 0;i < strs.length;i++){ //把字符串数组strs中的每一个字符串都转换为字符数组chars char[] chars = strs[i].toCharArray(); //把每一个chars都按字母顺序排序 Arrays.sort(chars); //将排序后的字符数组重新组合成字符串,作为HashMap的键 //toString返回的是数组对象的哈希地址,new String(chars)才是使用String的构造函数从字符数组创建一个新的字符串 String key = new String(chars); //如果键不存在,就创建新列表 if(!map.containsKey(key)){ map.put(key,new ArrayList<String>()); } //获得当前键对应的列表 //将当前字符串添加到当前字符串列表中 map.get(key).add(strs[i]); } //将哈希表的所有的值收集起来,组成一个新的列表并返回 return new ArrayList(map.values()); } }
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/30 23:40:14

SQL 注入基础:手工注入流程(判断注入点→爆库→爆表→爆数据)

目录 合规免责声明 手工注入核心流程 一、为什么要学手工 SQL 注入&#xff1f; 二、前置准备&#xff1a;靶场环境配置 2.1 环境要求 2.2 核心原理铺垫 三、手工注入全流程实战&#xff08;6 大步骤&#xff09; 步骤 1&#xff1a;判断注入点 —— 确认漏洞是否存在 …

作者头像 李华
网站建设 2026/5/8 2:03:36

【PHP 8.6 JIT性能迷局】:为什么你的FPM进程吃掉2GB内存?

第一章&#xff1a;PHP 8.6 的 JIT 内存占用PHP 8.6 即将引入对 JIT&#xff08;Just-In-Time&#xff09;编译器的进一步优化&#xff0c;但随之而来的内存占用问题也引起了开发者关注。JIT 在提升执行效率的同时&#xff0c;会将部分 PHP 脚本编译为原生机器码&#xff0c;这…

作者头像 李华
网站建设 2026/4/30 23:40:21

RIGOL示波器自研ASIC芯片在DS4000系列中的应用

在高端示波器领域&#xff0c;ASIC&#xff08;Application-SpecificRIGOL示波器IntegratedRIGOL示波器Circuit&#xff0c;专用集成电路&#xff09;芯片的应用已经非常普遍。ASIC芯片可以针对特定应用进行优化设计&#xff0c;从而在性能、功耗和成本等方面实现最佳平衡。近年…

作者头像 李华
网站建设 2026/5/6 4:23:42

农业IoT系统总是掉线?,PHP设备心跳机制设计全解析

第一章&#xff1a;农业IoT系统总是掉线&#xff1f;PHP设备心跳机制设计全解析在农业物联网&#xff08;IoT&#xff09;系统中&#xff0c;传感器设备常部署于偏远农田或温室环境&#xff0c;网络稳定性差、供电波动大&#xff0c;导致设备频繁掉线。若缺乏有效的在线状态监控…

作者头像 李华
网站建设 2026/5/6 15:43:43

Python编程实战:从类与对象到设计优雅代码

「编程类软件工具合集」 链接&#xff1a;https://pan.quark.cn/s/0b6102d9a66a 一、为什么需要面向对象编程&#xff1f; 想象你正在开发一个电商系统&#xff0c;需要管理商品、用户和订单。如果用过程式编程&#xff0c;代码会变成这样&#xff1a; # 过程式电商系统示例…

作者头像 李华
网站建设 2026/5/1 0:39:05

Laravel 13多模态权限架构深度解析(企业级安全控制方案)

第一章&#xff1a;Laravel 13多模态权限架构概述在现代 Web 应用开发中&#xff0c;权限管理是保障系统安全的核心环节。Laravel 13 引入了多模态权限架构&#xff0c;支持基于角色、策略、门面&#xff08;Gates&#xff09;和策略类&#xff08;Policies&#xff09;的复合权…

作者头像 李华