news 2026/4/3 4:51:00

【剑斩OFFER】算法的暴力美学——面试题 01.02 :判定是否互为字符串重排

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【剑斩OFFER】算法的暴力美学——面试题 01.02 :判定是否互为字符串重排

一、题目描述

二、算法原理

思路:哈希表统计字符串里每个字符的个数

这道题我使用的是用一个数组来模拟哈希表(原因:效率高,而且每个字符串都是小写字母,所以我们可以创建数组:int arr[ 26 ] 来模拟哈希表),我们先把第一个字符串里面的每个字符的个数都放到这个哈希表中,然后再访问第二数组,对第二个数组:我们用第一个数组里面存储的第一个字符串里面的每个字符出现个数减去第二个数组里每个字符出现的个数,如果数组里面的值都为0,那么这个两个字符串符合题目要求;当然前提是两个字符串的长度是一样的,如果不一样,这个两个字符串是绝对不符合题目要求。

三、代码实现

class Solution { public: bool CheckPermutation(string s1, string s2) { if(s1.size() != s2.size()) return false;//两个字符串的长度都不一样,那么直接返回false int num[26] = {0};//数组模拟哈希表 for(auto& e : s1)//把 s1 的每个字符个数都放到这个数组里面 { char ch = e - 'a'; num[ch]++; } for(auto& e : s2)//让 s2 的每个字符个数减去 s1 的字符串的每个字符的个数 { char ch = e - 'a'; num[ch]--; } for(auto& e : num)//如果数组里面的数据都为 0 ,那么这两个字符串满足题目要求 { if(e != 0) return false; } return true; } };
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/3/28 22:41:40

GLM-TTS与Velero备份恢复集成:灾难恢复计划制定

GLM-TTS与Velero备份恢复集成:构建高可用语音合成系统 在AI驱动的语音服务日益普及的今天,企业对系统稳定性与数据完整性的要求已远超“功能可用”的初级阶段。一个语音合成平台即使拥有最先进的零样本克隆能力,若无法保障用户生成内容不因节…

作者头像 李华
网站建设 2026/4/3 4:49:43

一文说清fastbootd与传统fastboot的区别(Qualcomm场景)

fastbootd vs 传统fastboot:高通平台下的刷机架构进化之路你有没有遇到过这样的情况——在给一台Android设备刷机时,执行fastboot flash product product.img却提示“unknown partition”?明明镜像没问题,可就是写不进去。如果你用…

作者头像 李华
网站建设 2026/4/1 22:52:34

DVWA安全测试之后的新热点:GLM-TTS语音伪造技术伦理探讨

GLM-TTS语音伪造技术伦理探讨 在AI生成内容日益泛滥的今天,我们正面临一个前所未有的信任危机:一段音频是否真的来自它声称的人?一条语音消息是亲人打来的,还是骗子用几秒钟录音克隆出的声音?这些问题不再只是科幻情节…

作者头像 李华
网站建设 2026/3/19 18:39:31

异步通知在字符设备驱动中的应用详解

异步通知在字符设备驱动中的实战解析:从原理到高效设计你有没有遇到过这样的场景?一个串口设备每秒只发几个字节的数据,但你的应用程序却不得不每隔几毫秒就去“查一次岗”——调用read()看看有没有新数据。这种轮询方式不仅浪费 CPU 时间片&…

作者头像 李华
网站建设 2026/3/21 19:42:15

start_app.sh脚本解读:自动化启动GLM-TTS服务的秘密

start_app.sh 脚本解读:自动化启动 GLM-TTS 服务的秘密 在语音合成技术飞速发展的今天,零样本语音克隆和情感可控的 TTS(Text-to-Speech)系统正从实验室走向实际应用。GLM-TTS 就是这样一个前沿项目——它能在仅需几秒参考音频的情…

作者头像 李华