算法第十七天:leetcode242.有效的字母异位词

news2024/11/15 15:36:29

一、有效的字母异位词的题目描述与链接

  242.有效的字母异位词如下表所示,您可以直接复制下面网址进入力扣学习,在观看下面的内容之前您一定要先做一遍哦,以便让你印象更加深刻!

https://leetcode.cn/problems/valid-anagram/description/icon-default.png?t=N7T8https://leetcode.cn/problems/valid-anagram/description/

 1.1 该题的题目描述如下:

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

  注意:若 s 和 t 中每个字符出现的次数都相同,则称 s 和 t 互为字母异位词。

  示例 1:

输入: s = "anagram", t = "nagaram"
输出: true

  示例 2:

输入: s = "rat", t = "car"
输出: false

  提示:

  • 1 <= s.length, t.length <= 5 * 104
  • s 和 t 仅包含小写字母

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

 

二、Java版

   该题可用数组去解题,具体代码如下所示:

class Solution {
    public boolean isAnagram(String s, String t) {
        int[] hash=new int[26]; //定义一个数组(哈希表),存放26个字母
        for(int i=0;i<s.length();i++){
            hash[s.charAt(i)-'a']++; //减去对应a的ASCII码值
        }
        for(int i=0;i<t.length();i++){
            hash[t.charAt(i)-'a']--;
        }
        for(int i=0;i<26;i++){
            if(hash[i]!=0){
                return false;
            }
        }
        return true;
    }
}

 

三、有效的字母异位词的具体思路 

  1. 先定义一个哈希数组hash,大小为26,用来存放26个字母;
  2. 再记录字符串s中字母出现的频率,然后加起来,和记录字符串t中字母出现的频率,然后减起来;
  3. 最后如果两次相加后的哈希数组不等于0的话,就不互为字母异位词,反之,则互为字母异位词。

 

    感谢各位读者的阅读与支持,您的支持是我前进的动力!我希望我的博文能够带给您双指针的一些算法知识和启发。如果您有任何问题或意见,请随时联系我或在评论区评论。希望本题的算法知识对大家有帮助,谢谢各位读者的支持!!!

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

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

相关文章

curl wget介绍

0 Preface/Foreword 1 curl介绍 curl&#xff1a;transfer a URL synopsis&#xff1a; curl [options] [URL...] 描述&#xff1a; curl is a tool to transfer data from or to a server, using one of the supported protocols (DICT, FILE, HTTP, HTTPS, IMAP, FTP, FT…

【JavaEE初阶】懒汉模式与饿汉模式及指令重排序问题

目录 &#x1f4d5; 单例模式 &#x1f333; 饿汉模式 &#x1f6a9; 线程安全 &#x1f38d; 懒汉模式 &#x1f6a9; 懒汉模式-单线程版 &#x1f6a9; 懒汉模式-多线程版 &#x1f384; 指令重排序 &#x1f4d5; 单例模式 单例模式是一种经典的设计模式&#xff0c;…

Python | Leetcode Python题解之第312题戳气球

题目&#xff1a; 题解&#xff1a; class Solution:def maxCoins(self, nums: List[int]) -> int:n len(nums)rec [[0] * (n 2) for _ in range(n 2)]val [1] nums [1]for i in range(n - 1, -1, -1):for j in range(i 2, n 2):for k in range(i 1, j):total v…

文档编辑协作神器,全方位解决方案,灵活部署赋能个人与企业-onlyoffice

文章目录 1. 引言2. 免费畅享&#xff0c;个人的编辑利器2.1 PDF直接修改功能2.2 插件支持&#xff0c;应对多种工作场景2.3 AI助手智慧办公 3. 私有部署&#xff0c;开发者的自定义编辑器3.1 开发者版本介绍3.2 私有部署&#xff0c;解决数据安全问题3.3 实用功能丰富&#xf…

基于SpringBoot+Vue的流浪猫狗救助救援网站(带1w+文档)

基于SpringBootVue的流浪猫狗救助救援网站(带1w文档) 基于SpringBootVue的流浪猫狗救助救援网站(带1w文档) 该流浪猫狗救助救援网站在Windows平台下完成开发&#xff0c;采用java编程语言开发&#xff0c;将应用程序部署于Tomcat上&#xff0c;加之MySQL接口来实现交互式响应服…

LKEB-4030电阻器LKEB4030模块可议价

LKEB-4030电阻器LKEB4030模块可议价 LKEB-4030电阻器LKEB4030模块可议价 LKEB-4030电阻器LKEB4030模块可议价 LKEB-4030电阻器LKEB4030模块说明书 LKEB-4030电阻器LKEB4030模块接线图 LKEB-4030电阻器LKEB4030模块线路图 LKEB-4030电阻器&#xff08;Resistor&#xff09…

新手如何参加护网行动?一篇带你零基础入门到精通

前言 1、什么是护网行动 “护网行动”是指国家组织的网络安全防护演练行动。 护网行动通常由国家相关部门组织&#xff0c;旨在模拟真实的网络攻击情况&#xff0c;检验和提升关键信息基础设施、重要信息系统和大数据的安全防护能力。 在护网行动中&#xff0c;会有专业的攻…

基于微信小程序的搬家服务系统(源码+lw+部署文档+讲解等)

博主介绍&#xff1a;✌全网粉丝10W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌ 涉及技术栈&#xff1a;SpringBoot、Vue、SSM、H…

SEO域名篇—如何选择一个好域名

SEO 域名选择误区 很多做站的大佬都告诉新入行的SEO优化员&#xff0c;选择域名一定要选择老域名&#xff0c;这里也是一个误区&#xff0c;很多新手在听了大佬的话后去就选择一些5年-15年的老域名直接做站&#xff0c;不去查查这个域名是否被360、QQ、微信等等一切搜索引擎拦…

Unity | Shader基础知识(第二十集:应用-简易流光、LOD)

目录 一、前言 二、LOD 1.什么是LOD 2.代码如何调节LOD 三、流光 1.资源准备 2.uv移动 3.获取图片中的uv 4.改变uv去取流光的颜色&#xff08;时间的应用&#xff09; 5.图片叠加 6.透明图片的叠加 四、纯净代码 五、作者的碎碎念 一、前言 有小伙伴问&#xf…

使用腾讯云域名解析实现网站重定向

前言 最近&#xff0c;在CSDN平台上我写了一系列博客&#xff0c;希望能与同学分享一些技术心得。然而&#xff0c;每当需要向他人推荐我的博客时&#xff0c;那串复杂且缺乏规律的CSDN博客首页域名总让我感到不便。这让我开始思考&#xff0c;如果能将这一域名替换为一个既个…

技术速递|VS Code Java 7月更新 - Gradle 支持增强!用户体验改进与 Spring 新功能

作者&#xff1a;Nick Zhu 排版&#xff1a;Alan Wang 大家好&#xff0c;欢迎来到 Visual Studio Code 7月份的 Java 更新&#xff01;本博客将覆盖最新的 Gradle 功能增强、用户体验改进以及新的 Spring 功能&#xff0c;让我们开始吧&#xff01; Gradle 功能增强 支持 Gr…

算法强训day19

一、小易的升级之路 链接&#xff1a;小易的升级之路_牛客题霸_牛客网 简单题 #include<iostream> using namespace std; long long gcd(long long m, long long x) {long long n ;while(x>0){n m % x;m x;x n;}return m; } int main() {int n;long long m;cin &…

文件上传漏洞--之upload-labs靶场(第6-10关)专栏更新ing......

注意&#xff1a; 为避免执行之前关卡的上传了的php文件代码&#xff0c;可以将upload文件夹下的文件清空 第六关&#xff1a; 第一步&#xff1a;查看源码 对比前面的几个关卡&#xff0c;里面没有文件去空格语句&#xff0c;可以使用后缀名加空格绕过 第二步&#xff1a;…

Python初学者必须掌握的基础知识点

Python初学者必须掌握的基础知识点包括数据类型与变量、控制结构&#xff08;条件语句和循环语句&#xff09;、基本数据结构&#xff08;列表、元组、字典、集合&#xff09;、函数与模块、以及字符串处理等。以下是对这些基础知识点及其对应代码的详细介绍&#xff1a; 1. …

Git常用命

转自&#xff1a;https://blog.csdn.net/ahjxhy2010/article/details/80047553 1.查看某个文件或目录的修改历史 git log filename #查看fileName相关的commit记录 git log -p filenam # 显示每次提交的diff#只看某次提交中的某个文件变化&#xff0c;commit-id  文件名…

【视频讲解】CatBoost、LightGBM和随机森林的海域气田开发特征分类研究

原文链接&#xff1a;https://tecdat.cn/?p37208 原文出处&#xff1a;拓端数据部落公众号 分析师&#xff1a;Changlin Li 本文将通过视频讲解&#xff0c;展示如何用CatBoost、LightGBM和随机森林的海域气田开发特征智能分类&#xff0c;并结合一个python分类预测职员离…

虚拟网卡添加ip

1.虚拟机网卡添加 1.进入虚拟机设置添加网卡即网络适配器 2.配置文件修改 1.查看网卡是否添加成功 ip ad ifconfig 其中ens161就是我们新添加的设备同时这个ens161也是我们硬件名字 2.进入系统配置文件 cd /etc/sysconfig/network-scripts/#配置文件目录[rootlocalhost ne…

小程序~~4(npm支持+分包加载+开放功能)

目录 1.npm支持 自定构建npm vant组件库的使用 vant app组件样式覆盖 2.分包加载 介绍 分包加载及打包引用原则 独立分包的配置 分包预下载 3.开放能力 获取微信头像 获取微信昵称 转发功能 分享到朋友圈 手机号验证组件 客服功能 框架接口-getApp() 页面间通…

使用hutool工具将数字类型集合转换为字符串数组,long类型集合转字符串集合或数组相互转换

1.导入hutool的maven依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version></dependency>2.直接复制代码运行 import cn.hutool.core.convert.Convert; import java.…