算法笔记:力扣49.字母异位词分组

思路:排序+哈希表映射

关键API:

char [] arr =str.toCharArray();

将字符串转为字符数组返回。

Arrays.sort(arr);

对数组进行排序;

Map.getOrDefault(Object key, V defaultValue):

要查找的键和默认值。如果键存在,则返回与该键关联的值,否则返回指定的默认值。

示例:

 Map<Integer,Integer> map = new HashMap<>();map.put(1,11);// 存在Key1,返回11System.out.println(map.getOrDefault(1,22));// 不存在Key3,返回默认值33System.out.println(map.getOrDefault(3,33));

代码:

class Solution {public List<List<String>> groupAnagrams(String[] strs) {List<List<String>> result=new ArrayList<>();HashMap<String,List<String>> map=new HashMap<>();  //创建一个哈希map用来映射 key就是排序后的组成单词 List<String>就是由这个单词组成的for(String str:strs){char [] arr =str.toCharArray();Arrays.sort(arr); //将字母进行排序String key=new String(arr);List<String> fenzu=map.getOrDefault(key,new ArrayList<String>()); //根据key匹配 如果已经存在key 就返回对应的value 也就是这个key对应的集合//如果不存在 则返回默认值 此处默认值是一个空数组 就代表这个当前的key 还没有一样的fenzu.add(str);map.put(key,fenzu);}return new ArrayList<List<String>>(map.values());}}

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

医疗服务高质量发展项目会议在杭州成功举办

2024年11月30日&#xff0c;医疗服务高质量发展项目会议在杭州成功举办&#xff0c;此次会议旨在探讨医疗服务领域的最新进展和未来趋势&#xff0c;推动医疗服务的高质量发展。来自全国各地的医院管理者、专家学者齐聚一堂&#xff0c;共同分享智慧医疗、绩效考核、精细化管理…

k近邻法基本知识简记

一、原理与概念 1、样本 k近邻法使用的样本数据集合&#xff0c;称作训练样本集&#xff0c;并且样本集中每个数据都存在标签&#xff0c;即样本集中每个数据与所属分类的对应关系已知。 2、原理 输入没有标签的新数据后&#xff0c;将新数据的每个特征与样本集中数据对应的…

开源C代码之路:一、Gitee

开源c代码之路&#xff1a;一&#xff0c;Gitee 前言1、开源项目2、从哪里找&#xff1f;3、举个例子4、总结&#xff1a; 本系列回顾清单开源代码示例 前言 从开源开发的角度&#xff0c;由浅入深&#xff0c;一步步初探C语言编程的入门之路。 本篇讲解&#xff1a;Gitee 1…

极化定标未知数,反射对称条件下

把观测到的协方差矩阵都看作方程&#xff0c;则观测方程有16个&#xff0c;对角线四个实数&#xff0c;非对角线六个复数。 未知数有18个 f1 f2 d1 d2 d3 d4是12个 绝对幅度A 1个和绝对相位 θ在协方差中被消去了 协方差矩阵&#xff08;反射对称性下&#xff09;有5个未知数…

基于STM32的Wi-Fi无人机项目

引言 随着无人机技术的快速发展&#xff0c;基于微控制器的DIY无人机变得越来越流行。本项目将介绍如何使用STM32微控制器制作一架简单的Wi-Fi无人机。通过本项目&#xff0c;您将了解到无人机的基本组成部分&#xff0c;如何进行硬件连接&#xff0c;代码编写&#xff0c;以及…

【附源码】基于环信鸿蒙IM SDK实现一个聊天Demo

项目背景 本项目基于环信IM 鸿蒙SDK 打造的鸿蒙IM Demo&#xff0c;完全适配HarmonyOS NEXT系统&#xff0c;实现了发送消息&#xff0c;添加好友等基础功能。代码开源&#xff0c;功能简洁&#xff0c;如果您有类似开发需求可以参考。 源码地址&#xff1a;https://github.c…

MicroSIP软电话使用

MicroSIP - 基于 PJSIP 协议栈的开源便携式 SIP 软电话 适用于 Windows 操作系统。 它允许进行高质量的 VoIP 通话&#xff08;个人对个人或在线 普通电话&#xff09;。来自 SIP 提供商的云 您可以选择最适合您的&#xff0c;注册帐户并在 MicroSIP 中使用它。 您将获得免费的…

突破空间限制!从2D到3D:北大等开源Lift3D,助力精准具身智能操作!

文章链接&#xff1a;https://arxiv.org/pdf/2411.18623 项目链接&#xff1a;https://lift3d-web.github.io/ 亮点直击 提出了Lift3D&#xff0c;通过系统地提升隐式和显式的3D机器人表示&#xff0c;提升2D基础模型&#xff0c;构建一个3D操作策略。 对于隐式3D机器人表示&a…

【C++笔记】二叉搜索树

前言 各位读者朋友们大家好&#xff01;上期我们讲完了面向对象编程三大属性之一的多态&#xff0c;这一期我们再次开始数据结构二叉搜索树的讲解。 目录 前言一. 二叉搜索树的概念二. 二叉搜索树的性能分析三. 二叉搜索树的插入四. 二叉搜索树的查找五. 二叉搜索树的删除六.…

使用历史索引监控 Elasticsearch 索引生命周期管理

作者&#xff1a;来自 Elastic Stef Nestor 大家好&#xff01;在之前的一篇博客中&#xff0c;我们概述了常见的索引生命周期管理 (index lifecycle management - ILM) 问题及其解决方案。此后&#xff0c;我们已将这些常见场景添加到我们的 Elasticsearch 文档中&#xff0c;…

使用伪装IP地址和MAC地址进行Nmap扫描

使用伪装IP地址和MAC地址进行Nmap扫描 在某些网络设置中&#xff0c;攻击者可以使用伪装的IP地址甚至伪装的MAC地址进行系统扫描。这种扫描方式只有在可以保证捕获响应的情况下才有意义。如果从某个随机的网络尝试使用伪装的IP地址进行扫描&#xff0c;很可能无法接收到任何响…

Java基础之GUI:探索图形化界面编程的魅力

一、引言 Java 的图形用户界面&#xff08;GUI&#xff09;编程为开发者提供了丰富的工具和组件&#xff0c;使得创建直观、交互性强的应用程序变得更加容易。本文将深入介绍 Java 基础中的 GUI&#xff0c;包括其概念、组件、布局管理器以及事件处理等方面的知识。 Java 的图…

Svn如何切换删除账号

记录Svn清除切换账号 1.首先打开小乌龟的设置如下图 打开设置后单击已保存数据&#xff0c;然后选择清除 接上图选择清除后&#xff0c;就可以打勾选择清除已保存的账号&#xff0c;我们再次检出的就可以切换账号了 &#x1f449;总结 本次记录Svn清除切换账号 如能帮助到你…

机器学习分子动力学

“AI for Science”时代&#xff0c;机器学习分子动力学机器学习第一性原理专题&#xff01;https://mp.weixin.qq.com/s/icdBcJbKhOqtAymEpZds2A 《基于机器学习的分子动力学》 1. 第一天理论内容 a) 诺贝尔奖的AI元年 i. AI与 SCIENCE的交叉&#xff1a; b) 科学研究的四…

DVWA 靶场 SQL 注入报错 Illegal mix of collations for operation ‘UNION‘ 的解决方案

在 dvwa 靶场进行联合 SQL 注入时&#xff0c;遇到报错 Illegal mix of collations for operation UNION报错如下图&#xff1a; 解决办法&#xff1a; 找到文件MySQL.php 大致位置在dvwaincludesDBMS 目录下 使用编辑器打开 检索$create_db 第一个就是 在{$_DVWA[ ‘db_d…

多线程设计模式

同步模式-保护性暂停( Guarded Suspension) 定义 保护性暂停主要是解决什么问题?用在一个线程等待另一个线程的执行结果(交互结果) 要点: 有一个结果需要从一个线程传递到另一个线程,让他们关联同一个 GuardedObject如果有结果不断从一个线程到另一个线程那么可以使用…

UE4外挂实现分析-PC端-附源码

UE4外挂实现分析-PC端 游戏分析 分析工具&#xff1a; Cheat Engine 7.5 x64dbg IDA Pro 参考文章&#xff1a; UE4逆向笔记之GWORLD GName GameInstance - 小透明‘s Blog 【项目源码下载】https://download.csdn.net/download/Runnymmede/90079718 本次分析的游戏使用UE4.2…

微信小程序全屏显示地图

微信小程序在界面上显示地图&#xff0c;只需要用map标签 <map longitude"经度度数" latitude"纬度度数"></map>例如北京的经纬度为&#xff1a;116.407004,39.904595 <map class"bgMap" longitude"116.407004" lati…

解析RISCV fence指令

背景 由于RISCV采用了弱内存模型RVWMO&#xff0c;对内存访问的约束较少&#xff0c;而在现代的处理器设计中&#xff0c;因为流水线&#xff0c;乱序执行&#xff0c;store buffer等的存在&#xff0c;对IO, memory的访问往往是乱序的。 软件在特定的场景下&#xff0c;需要硬…

Scala的条件匹配

条件匹配 在 Scala 中&#xff0c;条件匹配主要通过match表达式来实现&#xff0c;它类似于其他语言中的switch语句&#xff0c;但功能更强。 基本语法&#xff1a;match表达式通常与case关键字一起使用。语法格式如下&#xff1a; 输入一段数字&#xff0c;判断属于那个范围…