可视化图解算法65:有效的字母异位词

news/2025/10/23 15:42:16/文章来源:https://www.cnblogs.com/jiangzhou/p/19160846

1.题目

描述

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

字母异位词 是通过重新排列不同单词或短语的字母而形成的单词或短语,通常只使用所有原始字母一次。

示例 1:

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

示例 2:

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

提示:

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

2. 题解思路

对于字母异位词 来说,字符串s中出现的字符在字符串t中都需要出现,不能多也不能少。因此可以通过一个map来实现,具体思路是:

  1. 定义一个哈希表(map);key为字符,value为字符出现的次数(默认值为0);

  2. 遍历字符串s,哈希表中存储的是s对应字符出现的次数;

  3. 遍历字符串t,字符每出现一次,在哈希表中将值减1;

  4. 遍历哈希表,如果哈希表中对应字符的值都为0,则s与t为有效的字母异位词。

如果文字描述的不太清楚,你可以参考视频的详细讲解。

  • Python版本:https://www.bilibili.com/cheese/play/ep1374984
  • Java版本:https://www.bilibili.com/cheese/play/ep1368274
  • Golang版本:https://www.bilibili.com/cheese/play/ep1368658

3.编码实现

核心代码如下:

func isAnagram(s string, t string) bool {//1.定义一个哈希表(map);key为字符,value为字符出现的次数(默认值为0)hashTable := make(map[uint8]int)//2.遍历字符串s,哈希表中存储的是s对应字符出现的次数;对于map来说,key不存在,value默认为零值(int:0,string:空)for i := 0; i < len(s); i++ {hashTable[s[i]]++}//3.遍历字符串t,字符每出现一次,在哈希表中将值减1for j := 0; j < len(t); j++ {hashTable[t[j]]--}//4.遍历哈希表,如果哈希表中对应字符的值都为0,则s与t为有效的字母异位词for _, v := range hashTable {if v != 0 {return false}}return true
}

具体完整代码你可以参考下面视频的详细讲解。

  • Python版本:https://www.bilibili.com/cheese/play/ep1374984
  • Java版本:https://www.bilibili.com/cheese/play/ep1368274
  • Golang版本:https://www.bilibili.com/cheese/play/ep1368658

4.总结

本题的关键是理解题目的含义(字母异位词),并想到通过哈希表(map)来解答问题。

分割线

《数据结构与算法》深度精讲课程正式上线啦!七大核心算法模块全解析:

  ✅   链表

  ✅   二叉树

  ✅   二分查找、排序

  ✅   堆、栈、队列

  ✅   回溯算法

  ✅   哈希算法

  ✅   动态规划

无论你是备战笔试面试、提升代码效率,还是突破技术瓶颈,这套课程都将为你构建扎实的算法思维底座。🔥立即加入学习打卡,与千名开发者共同进阶!

  • Python编码实现:https://www.bilibili.com/cheese/play/ss897667807
  • Java编码实现:https://www.bilibili.com/cheese/play/ss161443488
  • Golang编码实现:https://www.bilibili.com/cheese/play/ss63997

对于LeetCode数据结构与算法,我们总结了一套【可视化+图解】方法,依据此方法来解决相关问题,算法变得易于理解,写出来的代码可读性高也不容易出错。具体也可以参考视频详细讲解。

今日佳句:燕赵多佳人,美者颜如玉。

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

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

相关文章

2025 年传感器厂家最新推荐排行榜:磁致伸缩 / 防爆 / 防水 / 隔爆 / 线性等类型传感器企业实力与产品优势解析

引言 当前传感器行业蓬勃发展,产品类型日益丰富,但市场上品牌良莠不齐,技术水平、产品质量和服务能力差异显著,给企业及采购者带来极大选择困扰。在工业生产、重点工程等场景中,对传感器的高精度、稳定性、耐用性…

2025 年加热线圈厂家最新推荐排行榜:聚焦行业头部企业,深度解析优质品牌核心优势与选购价值轴承外感应加热线圈 / 轴承座内圈加热线圈 / 感应加热线圈公司推荐

引言 当前加热线圈市场品牌繁杂,产品质量参差不齐,部分产品存在加热不均匀、寿命短、能耗高等问题,难以满足机械制造、汽车工业、风电装备等领域对高精度、高可靠性加热的需求。同时,不同行业对加热线圈的定制化要…

2025年山东钢结构厂家企业推荐榜,聚焦服务品质与特色业务竞争力深度剖析

随着 “双碳” 目标推进与装配式建筑政策落地,山东钢结构市场需求持续增长,厂房仓库、电厂设施、场馆建设等领域的专业化需求尤为突出。企业在选择合作方时往往面临多重困惑 —— 如何辨别企业项目交付能力、如何匹配…

上传图片后图片加载失败,或因后台ftp传输共享目录延迟导致获取不到

在前端上传图片后,通过ajax传输至后台服务器,后台服务器通过ftp方式将文件发送至共享目录中,或因传输延迟或共享目录同步延迟导致前端无法获取到已上传的图片信息,这时需要对图片进行重新加载处理。 进行重新加载时…

劳务工招聘助手小程序管理系统:革新劳务招聘管理的高效解决方案

一、概述总结 劳务工招聘助手小程序是由江苏金邦网络倾力打造的一款专为劳务招聘行业量身定制的微信小程序工具。它彻底摒弃了传统手工登记的繁琐模式,通过数字化手段解决了劳务招聘过程中数据繁杂、人手不足、统计困…

互动问答直播版双端小程序管理系统:开启直播变现新蓝海

一、概述总结 互动问答直播版小程序是一款适配微信与字节跳动双端的热门数字化产品,由长沙方廉企业管理有限责任公司提供,通过微擎系统在线交付。该小程序聚焦直播问答赛道,整合了烧脑闯关问答、找不同、找茬、找出…

Axure组件即拖即用:垂直折叠菜单(动态展开/收回交互) - 指南

Axure组件即拖即用:垂直折叠菜单(动态展开/收回交互) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Co…

【图论】kruskal-最小生成树算法简析

克鲁斯卡尔(Kruskal)算法从另一途径求网的最小生成树。其基本思想是:假设连通网G=(V,E),令最小生成树的初始状态为只有n个顶点而无边的非连通图T=(V,{}),概述图中每个顶点自成一个连通分量。在E中选择代价最…

水贝培育钻项链生产厂家口碑榜:基于专业测评的技术、工艺及市场优势深度分析

随着培育钻石技术的成熟和市场需求的增长,水贝作为中国珠宝产业的重要基地,涌现出一批专注于培育钻项链生产的优秀厂家。本报告基于专业调研,从技术实力、生产工艺、市场反馈及客户案例等维度,对国内水贝培育钻项链…

win 11关闭工具栏溢出

切换到win11后,有很多习惯性问题,工具栏溢出就是最头疼的东西,找了很多方法,今天解决了,所以分享给大家。 Workarounds (none are perfect):Third-party tools: Use software like ExplorerPatcher or StartAllBa…

C# WPF DataGrid 内容绑定时的单元格编辑类型模板

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

别再说我不懂Node流了

Nodejs中包括4种类型的流:Readable、Writable、Duplex和Transform.Readable Stream 自定义Readable 自定义 Readable 流必须调用 new stream.Readable([options]) 构造函数并实现 readable._read() 方法。 import { R…

高效赋能房产销售:房地产客服管理微信小程序系统重磅来袭

一、概述总结 这款房地产客服管理微信小程序系统是专为房地产行业打造的高效客户管理工具,由合肥锐科网络科技研发,通过微擎系统交付,支持微信小程序和微信公众号多平台适配。系统以客户全生命周期管理为核心,整合…

IIc死锁的问题

IIc死锁的问题首先补充基本的,iic是线与(wire-and)接口,时钟线SCL数据线SDA在配置时都会使用开漏输出 可以靠io拉到0电平,1电平需要硬件设计外部上拉电阻。 总线空闲的时候SCL、SDA都是高电平, 起始信号 时钟线高…

增压压床生产厂家口碑榜:聚焦技术突破、产能数据及行业应用案例的权威深度解析

在工业制造领域,增压压床作为关键设备,广泛应用于汽车、航空航天及电子元件成型等环节,其性能直接关系到生产效率和产品质量。随着2025年技术迭代加速,市场对高精度、高稳定性的增压压床需求持续上升。本文基于权威…

2025年国内优质镀锌板厂家精选推荐:Q235镀锌板厂家推荐,聚焦品质与服务的实力之选

在建筑、家电、机械制造等领域的持续发展带动下,镀锌板市场需求稳步增长,但产品质量参差不齐、服务能力差异显著等问题也给采购决策带来挑战。基于市场口碑调研、产品性能监测及服务体验反馈,本文筛选出 5 家各具优…

详细介绍:K8s中的键值对

详细介绍:K8s中的键值对pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", &q…

2025 年风机厂家最新推荐榜:聚焦交流/直流/无刷/大吸力等多类型风机,精选优质企业助力采购决策

引言 当前风机行业技术迭代加速,市场需求不断升级,各类风机产品层出不穷,却也存在质量参差不齐、技术实力悬殊的问题。企业在采购风机时,常面临不知如何挑选适配自身场景、兼具性能与口碑产品的困境,尤其在节能降…

权威调研榜单:山东智能镜框公司TOP3榜单好评深度解析

随着智能穿戴设备的快速发展,智能镜框作为结合健康监测与时尚设计的新兴产品,正成为工业与消费市场的热点。山东省凭借其制造业基础与科技创新能力,涌现出一批在智能镜框领域表现突出的企业。本报告基于权威行业调研…