Leetcode242有效的字母异位词(java实现,详细易懂想学会的进!!!)

今天给大家分享的题目是leetcode242有效的字母异位词
我们先看题目描述:
在这里插入图片描述
Chatgpt中对于字母异位词的解释如下:
字母异位词是指由相同的字母组成但顺序不同的单词。换句话说,字母异位词具有相同的字母,只是排列顺序不同
简单的将就是字母相同,但是顺序不同。
特别地,在leetcode中的题目判题标准中,“abc”与“abc”也算字母异位词。
好了下面来讲下我得思路。
解题思路:
首先,我们可以开辟一个长度为26的数组,用于统计每个字母出现的次数。然后我们遍历第一个传入的字符串s,将字符串中出现的字母存放在数组中去,并进行统计。然后我们对字符串t进行遍历,并用数组中存放的字符串s所统计的字母减去t中出现的字母,如果说最后数组为0,表示是字母异位词,否则就不是。
下面我们来结合代码进行进一步梳理思路:

 public boolean isAnagram(String s, String t) {int arr[]=new int[26];int i=0;//遍历字符串sfor (i=0;i<s.length();i++){arr[s.charAt(i)-'a']++;}//遍历字符串tfor (i=0;i<t.length();i++){arr[t.charAt(i)-'a']--;}//遍历数组for (i=0;i<arr.length;i++){if (arr[i]!=0){return false;}}return true;}

可能大家看了代码之后,最不能理解的是arr[s.charAt(i)-'a']++这一点是什么意思,我们首先调用s.charAt(i)获取字符串中的每个字母,加入我们的s是”abc“,当i=0时,s.charAt(0)就为a,然后a-a的结果就是0,arr[0]++也就是数组下标为0的位置进行数值+1,因为我们数组初始化时默认赋值全部为0,这样就可以对字母出现的次数进行统计了。然后对字符串t同样也是相同到底,只不过字符串s在统计字母时对下标位置进行++,而字符串t则是进行–。
那么这道题的代码并不难,难的是这道题的思路,如果是第一次接触到本道题的同学可以结合我的思路和代码进行好好梳理一下。
那么今天的题目分析及代码讲解就到这里结束了,如果觉得博主写的对你有帮助的话麻烦给博主点个小爱心谢谢O(∩_∩)O!

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

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

相关文章

AirBrush - AI 照片编辑器

​【应用名称】&#xff1a;AirBrush - AI 照片编辑器 ​【适用平台】&#xff1a;#Android ​【软件标签】&#xff1a;#AirBrush ​【应用版本】&#xff1a;6.0.1 ​【应用大小】&#xff1a;270MB ​【软件说明】&#xff1a;谁说我们的照片不能完美&#xff1f;我们相信…

生成式人工智能市场规模、趋势和统计数据(2024-2026)

生成式人工智能市场规模、趋势和统计数据&#xff08;2024-2026&#xff09; 目录 生成式人工智能市场规模、趋势和统计数据&#xff08;2024-2026&#xff09;一、生成式人工智能行业亮点二、生成式人工智能市场规模三、生成式人工智能市场增长预测四、生成式人工智能采用统计…

imgaug库指南(13):从入门到精通的【图像增强】之旅

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

基于深度学习的老照片修复系统

技术栈 深度学习 pytorch tensorflow python 卷积神经 神经网络 照片修复 vue 老照片修复 扫描褪色 残损照片或胶片 调整暗调/高光以改善面效果 修正曝光斑痕 背景&#xff1a; 随着时间的流逝&#xff0c;许多老照片可能会褪色、损坏或曝光不当。这些老照片记录了宝贵的回忆…

HelpLook VS Docusaurus:SaaS 知识库软件和 SSG 的对比

在选择文档工具时&#xff0c;需要考虑多个因素&#xff0c;如功能、易用性、成本等。Docusaurus是一个开源工具&#xff0c;它因其灵活性而受到文档团队的青睐&#xff0c;尤其是负责软件产品文档的团队。有些组织甚至可能要求使用开源软件&#xff0c;因此选择一个开源工具如…

【算法刷题】Day28

文章目录 1. 买卖股票的最佳时机 III题干&#xff1a;算法原理&#xff1a;1. 状态表示&#xff1a;2. 状态转移方程3. 初始化4. 填表顺序5. 返回值 代码&#xff1a; 2. Z 字形变换题干&#xff1a;算法原理&#xff1a;1. 模拟2. 找规律 代码&#xff1a; 1. 买卖股票的最佳时…

MySQL:ERROR 1067 - Invalid default value for ‘end_time‘【解决办法】

问题描述&#xff08;mysql版本&#xff1a;5.7.36&#xff09;&#xff1a; 今天在使用Navicat可视化工具运行sql文件&#xff0c;发生如下错误&#xff1a; 在图中&#xff0c;sql是没有错误的&#xff0c;但是运行报错Invalid default value for end_time。 解决办法&#…

基于图像合成和注意力的深度神经网络从计算机断层扫描灌注图像中自动分割缺血性脑卒中病变

Automatic ischemic stroke lesion segmentation from computed tomography perfusion images by image synthesis and attention-based deep neural networks 基于图像合成和注意力的深度神经网络从计算机断层扫描灌注图像中自动分割缺血性脑卒中病变背景贡献实验Comparison o…

2.doris数据类型与分区

用户创建与授权 -- 创建用户 create user test identified by test; -- 创建数据库 create database test_db; -- 授权用户 grant all on test_db to test;建表语法 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] [database.]table_name(column_definition1[, column_definition2…

linux复习笔记07(兄弟连)----链接命令

创建软链接&#xff1a; 创建硬链接&#xff1a; 对比原文件详细信息和软链接详细信息&#xff1a; 我们再来对比原链接和硬链接的详细信息有什么不同&#xff1a; 我们查看一下原文件和硬链接文件内容&#xff1a; 可以看到二者内容相同。 我们现在在原文件末尾添加一行信息&…

【深入浅出JVM原理及调优】「搭建理论知识框架」全方位带你探索和分析JMM并发模型之(重排序机制)

全方位带你探索和分析JMM并发模型之重排序机制 专栏介绍前提准备面向人群知识脉络重排序数据依赖性读后写依赖&#xff08;Read-After-Write Dependency&#xff09;写后读依赖&#xff08;Write-After-Read Dependency&#xff09;写后写依赖&#xff08;Write-After-Write De…

富士康注资21亿元河南成立电动车公司 | 百能云芯

富士康在河南注册成立富士康新能源汽车产业发展有限公司&#xff0c;注册资本达人民币5亿元&#xff0c;展现了其在电动车产业的持续布局。这一全资子公司将致力于从事汽车零部件及配件制造、电机制造、新材料技术研发、新能源汽车整车销售等业务。作为鸿海集团的全资子公司&am…