有效的字母异位词

Java实现 LeetCode 242 有效的字母异位词 242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t = “car” 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的... 阅读详情

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。

示例 1:
输入: s = "anagram", t = "nagaram"
输出: true
示例 2:
输入: s = "rat", t = "car"
输出: false
说明:

你可以假设字符串只包含小写字母

进阶:

如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来应对这种情况?

解法1:

思路:(感觉比较巧妙)用一个大小为26的int数组顺序表示26个字母的位置,遍历s字符串每个字符,对应字符在数组中加1;遍历t字符串每个字符,对应字符在数组中减1,最后判断数组内元素是否全为0,是则返回true,否则false。

class Solution {
    public boolean isAnagram(String s, String t) {
        int[] chall=new int[26];
        for(int i=0;i<s.length();i++){
            chall[s.charAt(i)-'a']++;
        }
        for(int j=0;j<t.length();j++){
            chall[t.charAt(j)-'a']--;
        }
        for(int i: chall){
            if(i!=0){
                return false;
            }
        }
        return true;
    }
}
解法2:

思路:把字符串转换成字符数组,排序,然后逐个比较,如果有不符合,则返回false,如果比对完全相同,则返回true。(记得得先判断两数组长度是否相同)

class Solution {
    public boolean isAnagram(String s, String t) {
        char[] sstr= s.toCharArray();
        char[] tstr= t.toCharArray();
        Arrays.sort(sstr);
        Arrays.sort(tstr);

        if(sstr.length==tstr.length){
        for(int i=0;i<sstr.length;i++){
            if(sstr[i]!=tstr[i]){
                return false;
            }
        }
        }else{
            return false;
        }
        return true;
    }
}
BB一句:

注意:charAt();Arrays.sort() ; chall [s.charAt(i)-‘a’]++; ;

有效的字母异位词。 字母异位词(Anagram)是指通过重新排列一个单词或短语的字母顺序而形成的另一个单词或短语,其中每个字母的使用次数必须完全相同,且不添加或删除任何字母。从数学角度看,两个字符串互为字母异位词,当且仅当它们是同一组字符的不同排列。两个字符串必须具有相同的长度每个字符在两个字符串中出现的频率必须完全相同形式化定义。 阅读详情

相关推荐

四足机器人关节电机FOC控制实战:从磁编码器校准到SVPWM调试避坑指南

本文详细解析了四足机器人关节电机FOC控制实战,涵盖磁编码器校准、电流环调试和SVPWM波形优化等关键环节。通过MIT Cheetah案例展示如何解决21倍电气误差问题,并提供相序自动校正、PI参数整定等实用代码片段,帮助工程师避开永磁同步电机(PMSM)控制中的常见陷阱。

weixin_29281915的博客 490

242. 有效的字母异位词 JavaScript实现

需要把字符映射到数组也就是哈希表的索引下标上,因为字符a到字符z的ASCII是26个连续的数值,所以字符a映射为下标0,相应的字符z映射为下标25。所以需要将 s[i] - ‘a’ 所在的元素做+1 操作即可,并不需要记住字符a的ASCII,只要求出一个相对数值就可以了。2、在遍历字符串t的时候,对t中出现的字符映射哈希表索引上的数值再做-1的操作。最后检查一下,record数组如果有的元素不为零0,说明字符串s和t一定是谁多了字符或者谁少了字符,return false。...

weixin_43466639的博客 345

将Matlab程序打包成.exe独立可执行程序

将Matlab程序打包成.exe独立可执行程序,在未安装Matlab的电脑上也能运行Matlab程序。

简简单单的学习笔记,致力于帮助更多前进路上的朋友~ 5万+

【leetcode初级算法JS实现】15.有效的字母异位词

有效的字母异位词

未来可期 239

关于Selenium3在MicrosoftEdge浏览器中出现的问题

前言 最近在做web自动化测试,所用环境是java+selenium3.141.59+MicrosoftEdge(Chromium)浏览器。 在调试的过程中,出现了很多问题。比如selenium3在Edge浏览器中远程调用中,不支持addArguments方法等 问题 1.Edge浏览器弹窗问题 在测试过程中,会出现弹出窗提示 ...

zhucheng1994的博客 2200

Haystack框架实战:从零构建企业级智能问答系统

自然语言处理(NLP)技术通过让计算机理解和生成人类语言,正在深刻改变信息检索与交互方式。其核心原理在于将文本转化为机器可处理的向量表示,并通过语义相似度计算实现精准匹配。这一技术价值在于能够从海量非结构化数据中快速提取精准信息,大幅提升知识获取效率。在工程实践中,检索增强生成(RAG)架构结合了密集向量检索与大语言模型生成能力,成为构建智能问答、知识库助手等应用的主流方案。该架构通过将用户查询与文档库进行语义匹配,并为大语言模型提供精准上下文,有效提升了回答的准确性与可追溯性。本文以Haystack这一生

weixin_42521032的博客 578

leetcode 有效的字母异位词 java

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含 unicode 字符怎么办?你能否调整你的解法来...

染指年华 618

[23]-->变长SPI接口

然而,FPGA技术复杂,学习门槛较高,许多人(初学者或学生)在学习过程中面临诸多挑战。(1)模式0:SCK串行时钟线空闲是为低电平,数据在SCK时钟的上升沿被采样,数据在SCK时钟的下降沿切换,CPOL= 0,CPHA=0;(2)模式1:SCK串行时钟线空闲是为低电平,数据在SCK时钟的下降沿被采样,数据在SCK时钟的上升沿切换,CPOL= 0,CPHA=1;(3)模式3:SCK串行时钟线空闲是为高电平,数据在SCK时钟的上升沿被采样,数据在SCK时钟的下降沿切换,CPOL= 1,CPHA=1;

m0_46498597的博客 178

LeetCode——第242题:有效的字母异位词

题目: 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t = “car” 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含 unicode 字符怎么...

RBreeze的博客 1214

matlab 计算点云粗糙度

A Correspondence Framework for ALS Strip Adjustments based on Variants of the ICP Algorithm

点云侠的博客 1830

【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)

简洁易懂的车牌号识别Python实现(含代码)1、整体思路2、代码详解 1、整体思路 2、代码详解

qq_40784418的博客 9万+

LeetCode 242. 有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的 字母异位词(字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次)。

晴空๓ 1140

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

LeetCode 242:有效的字母异位词

使用数组统计字母出现次数是一种高效的方法,时间复杂度为OnO(n)On。在主函数中,通过多组测试用例验证了代码的正确性。对于字符串操作问题,熟悉字符编码和数组操作尤为重要。希望这篇博客能帮助你理解 LeetCode 242 题的解决方案!💡。

weixin_48941116的博客 1145

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LeetCode 242. 有效的字母异位词 java

LeetCode 242. 有效的字母异位词 java 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 JAVA 代码: class So...

lele的专栏 645

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

leetcode 242.有效的字母异位词

242.有效的字母异位词(简单) 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例1: 输入: s = "anagram", t = "nagaram" 输出: true 示例2: 输入: s = "rat", t = "car" 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含unicode字符怎么办?你能否调整你...

weixin_43914692的博客 578

有效的字母异位词 - 简单

/ 对s中的字符加1。

ElseWhereR的博客 909

Python:有效字母异位词

【2】方法这里我用2种,一种内置的特殊哈希表,另外一种建立一个字母表abc_list然后正常ord统计个数,其中一个加进去一个减进去,最后再遍历字母表看看是不是减完了,减完了就是TRUE了~【1】方法1:使用API(Counter):这玩意直接统计字符串的字母出现次数弄成y键值对的那种元组。(大概是这样的东东)【1】什么叫字母异位词:字母出现频率相同。

weixin_55021541的博客 503

算法题:有效的字母异位词

给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明:可以假设字符串只包含小写字母。 进阶:如果输入字符串包含 unicode 字符怎么办?能否调整你的解法来应对这种情况? # 代码 ```python class Solution: # @pysnooper.snoop()

Deep learning小舟 8742

哈希表 2. 有效的字母异位词

字母异位词是通过重新排列不同单词或短语的字母而形成的单词或短语,并使用所有原字母一次。每个键对应的值也相等(值的比较可以递归地处理,比如值本身是列表、字典等嵌套结构)。​ 类型,Python 无法直接将它们转化为数值进行减法。操作基于字典的哈希表实现,效率很高,时间复杂度为。若最终有非0项,说明两者不满足题意,为false。键值对的顺序不影响比较结果,因为字典是无序的。​ 是合法的,并且可以用来比较两个字典是否。如果想比较两个字符之间的差值,可以使用。​ 是不合法的操作,会抛出一个。是字典中的键值对数量。

m0_49844155的博客 975

242. 有效的字母异位词

242. 有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t是否是 s 的字母异位词。 示例 1: 输入: s = “anagram”, t = “nagaram” 输出: true 示例 2: 输入: s = “rat”, t = “car” 输出: false 说明: 你可以假设字符串只包含小写字母。 进阶: 如果输入字符串包含unicode字符怎么办?你能否调整你的解法来应对这种情况? 解题思路 假设字符串只包含小写字母,可以利用ASCII值进行求解。 方法一:利用数组计

二进制杯莫停的博客 178

讲解Leetcode第242题:有效的字母异位词

输入:s=“anagram”,t=“nagaram”输出:true解释:字符串s和t由相同的字符组成,但是字符出现的顺序不同,故字符串s和t互为字母异位词。

序属秋秋秋的博客 1209
上一篇: 字符串中的第一个唯一字符
下一篇: 验证回文字符串
coder_flag
博客等级 码龄9年 2粉丝 53原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值