【力扣 Hot100 | 第六天】4.21(字母异位词分组)

在这里插入图片描述

9.字母异位词分组

9.1题目

给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。

字母异位词 是由重新排列源单词的所有字母得到的一个新单词。

  • 示例一:
输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]
输出: [["bat"],["nat","tan"],["ate","eat","tea"]]
  • 示例二:
输入: strs = [""]
输出: [[""]]
  • 示例三:
输入: strs = ["a"]
输出: [["a"]]

9.2解法:哈希法

9.2.1哈希思路

  • 一次遍历循环,遍历整个字符串数组
  • 每次拿到数组中的字符串,先将其转成数组,并按照升序排序,再将其转成字符串
  • 判断该字符串在map(String,List)中是否存在
    • 不存在,存入map集合中
  • 不管是否存不存在,都要将nums[i]元素加进 以该字符串为 key的value中

9.2.2代码实现

	public List<List<String>> groupAnagrams(String[] strs) {if(strs.length==0){return new ArrayList<>();}Map<String,List> map=new HashMap<>();for(int i=0;i<strs.length;i++){//1、将字符串其转成数组,并按照升序排序char[] ch=strs[i].toCharArray();Arrays.sort(ch);//2、将其转成字符串,为keyString key=String.valueOf(ch);if(!map.containsKey(key)){map.put(key,new ArrayList<>());}map.get(key).add(strs[i]);}return new ArrayList(map.values());}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/2914.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商技术揭秘三十二:智能风控的案例研究与未来趋势

相关系列文章 电商技术揭秘相关系列文章合集&#xff08;1&#xff09; 电商技术揭秘相关系列文章合集&#xff08;2&#xff09; 电商技术揭秘二十八&#xff1a;安全与合规性保障 电商技术揭秘二十九&#xff1a;电商法律合规浅析 电商技术揭秘三十&#xff1a;知识产权保…

stable diffusion webui 使用 SDXL模型

可以去c站上下载别人处理好的模型&#xff0c;从liblib里下载也可以 DreamShaper XL 将下载好的模型复制到/models/Stable-diffusion目录下&#xff0c;webui的界面里选择加载模型 测试了一下&#xff0c;需要注意的是这三个选项 采样器必须设置为DPM SDE Karras &#xf…

spring高级篇(三)

1、Spring选择代理 1.1、Aspect和Advisor 在Spring框架中&#xff0c;"Aspect" 和 "Advisor" 是两个关键的概念&#xff0c;它们都与AOP&#xff08;面向切面编程&#xff09;密切相关&#xff1a; 如果要在Spring中定义一个Aop类&#xff0c;通常会&…

STM32H7的LCD控制学习和应用

STM32H7的LCD控制 LTDC基础硬件框图LTDC时钟源选择LTDC的时序配置LTDC背景层、图层1、图层2和Alpha混合LTDC的水平消隐和垂直消隐LCD的DE同步模式和HV同步模式的区别区分FPS帧率和刷新率避免LTDC刷新撕裂感的解决方法 驱动示例分配栈的大小MPU和Cache配置初始化SDRAM初始化LCD应…

使用IOPaint实现图片擦除路人

IOPaint 是一个免费的开源的 inpainting/outpainting 工具&#xff0c;由最先进的 AI 模型提供支持。 IOPaint 中使用各种模型来修改图像&#xff1a; 擦除&#xff1a;删除任何不需要的物体、缺陷、水印、人物。修复&#xff1a;对图像的特定部分进行修改、添加新对象或替换…

vcontact2:病毒聚类(失败)

Bitbucket 安装 mamba create --name vContact2 biopython1.78 mamba install -c bioconda vcontact20.11.3vim ~/envs/vContact2/lib/python3.9/site-packages/vcontact2/exports/summaries.py 把 np.warnings.filterwarnings(ignore) 改成 import warnings warnings.filte…

Java虚拟机类加载机制详细总结

1、概述 Java虚拟机把描述类的数据从Class文件加载到内存&#xff0c;并对数据进行校验、转换解析和初始化&#xff0c;最终形成可以被虚拟机直接使用的Java类型&#xff0c;这个过程被称作虚拟机的类加载机制。 2、类加载的时机 一个类型从被加载到虚拟机内存中开始&#xff…

开曼群岛:Web3企业的乐园

开曼群岛&#xff1a;Web3企业的理想之地 开曼群岛&#xff0c;在数字革命中大放异彩。近年来&#xff0c;该地区成立的Web3企业数量显著增加&#xff0c;如果保持目前的发展速度&#xff0c;并持续优化立法&#xff0c;那么扩展的速度将无可限量。本文将探讨推动这一增长的关…

unity学习(88)——断线的原因--客户端队列死锁(头部异常为null)

客户端接受数据包的队列如下&#xff1a; 测试可以得到明显的溢出结果&#xff0c;肯定是有问题的&#xff01; 在catch中输出具体异常&#xff1a;Object reference not set to an instance of an object! 然后通过debug.log定位具体异常位置&#xff01;这也不算浪费时间&…

【QT学习】9.绘图,三种贴图,贴图的转换,不规则贴图(透明泡泡)

一。绘图的解释 Qt 中提供了强大的 2D 绘图系统&#xff0c;可以使用相同的 API 在屏幕和绘图设备上进行绘制&#xff0c;它主要基于QPainter、QPaintDevice 和 QPaintEngine 这三个类。 QPainter 用于执行绘图操作&#xff0c;其提供的 API 在 GUI 或 QImage、QOpenGLPaintDev…

互联网和嵌入式,哪个更吃香?

在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入门到高级教程」&#xff0c; 点个关注在评论区回复“888”之后私信回复“888”&#xff0c;全部无偿共享给大家&#xff01;&#xff01;&#xff01;显然&#xff0c;互联网更受青…

Mysql全局优化总结

Mysql全局优化总结 从上图可以看出SQL及索引的优化效果是最好的&#xff0c;而且成本最低&#xff0c;所以工作中我们要在这块花更多时间 服务端系统参数 官方文档&#xff1a;https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_max_connections…

MSE实现全链路灰度实践

技术架构包括以下基础设施和云服务&#xff1a; 1个地域&#xff1a;ACK集群、微服务应用、MSE实例均部署在同一地域下。 1个专有网络VPC&#xff1a;形成云上私有网络&#xff0c;确保核心云资源的网络环境&#xff0c;如容器服务ACK、微服务引擎MSE。 ACK集群&#xff1a;简单…

七星创客新零售系统:颠覆性商业模式的崛起

大家好&#xff0c;我是微三云周丽&#xff0c;今天给大家分析当下市场比较火爆的商业模式&#xff01; 小编今天跟大伙们分享什么是七星创客新零售系统&#xff1f; 随着经济的快速发展和科技的不断进步&#xff0c;商业模式的革新成为了企业发展的关键。在这个新旧动能转换、…

CentOS配置JDK8环境并安装配置neo4j

1. 工具安装 1. 安装wget yum install -y wget2. 安装vim yum install -y vim-enhanced2. 配置JDK 1. 安装JDK 先到官网下载jdk8的压缩包&#xff0c;点我传送&#xff0c;并将压缩包上传到虚拟机的/usr/local目录下。 cd /usr/local # 进入 /usr/local目录 tar -zxvf jdk-…

使用Perf诊断PostgreSQL性能问题

1 编译参数 使用perf获取完整的堆栈信息需要下面几个编译参数&#xff1a; -O0&#xff1a;编译器不做优化-ggdb3&#xff1a;增加了为GDB优化的调试信息&#xff0c;级别是3-g3&#xff1a;增加了调试信息&#xff0c;级别是3-fno-omit-frame-pointer&#xff1a;保留完成的…

「JavaEE」线程状态

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;JavaEE &#x1f387;欢迎点赞收藏加关注哦&#xff01; 线程状态 &#x1f349;start 和 run 的区别&#x1f349;终止线程&#x1f349;join & 阻塞状态&#x1f349;线程六大状态 &…

docker 基本命令

目录 一、docker 镜像操作命令 1.1.查询软件镜像 1.2.docker pull&#xff1a;下载镜像 1.3.docker push&#xff1a;上传镜像 1.4.docker images&#xff1a;查看本地镜像 1.5.docker inspect &#xff1a;获取镜像详细信息 1.6.docker tag&#xff1a;添加镜像标签 …

Git:使用conda命令切换虚拟环境

1. 问题 在win10电脑的Git中&#xff0c;无法使用conda list命令&#xff0c;报错&#xff08;bash&#xff1a;conda&#xff1a;command not found&#xff09;。也无法使用conda activate base命令激活虚拟环境&#xff0c;报错&#xff08;bash&#xff1a;conda&#xff…

共享单车数据分析与需求预测项目

注意&#xff1a;本文引用自专业人工智能社区Venus AI 更多AI知识请参考原站 &#xff08;[www.aideeplearning.cn]&#xff09; 项目背景 自动自行车共享系统是传统自行车租赁的新一代&#xff0c;整个会员、租赁和归还过程都变得自动化。通过这些系统&#xff0c;用户可以…