当前位置: 首页 > wzjs >正文

做网站排名工具沈阳男科医院十大排名

做网站排名工具,沈阳男科医院十大排名,东莞网站建设 熊掌号,聊天app开发费用01.02、[简单] 判定是否互为字符重排 1、题目描述 给定两个由小写字母组成的字符串 s1 和 s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。 在这道题中,我们的任务是判断两个字符串 s1 和 s2 是…

01.02、[简单] 判定是否互为字符重排

1、题目描述

给定两个由小写字母组成的字符串 s1s2,请编写一个程序,确定其中一个字符串的字符重新排列后,能否变成另一个字符串。

在这道题中,我们的任务是判断两个字符串 s1s2 是否可以通过重新排列字符使得其中一个字符串变为另一个字符串。这意味着,我们需要检查这两个字符串是否包含完全相同的字符,并且每个字符的数量也必须相同。

2、方法一:排序比较法

2.1、思路解析

如果两个字符串是彼此的排列,那么对这两个字符串进行排序后,它们应该完全相同。因此,我们可以通过以下步骤来实现:

  1. 长度判断:首先,检查 s1s2 的长度。如果长度不同,直接返回 false
  2. 排序:对 s1s2 分别进行排序。
  3. 比较:比较排序后的两个字符串是否相等。如果相等,返回 true,否则返回 false
2.2、代码实现
class Solution {
public:bool CheckPermutation(string s1, string s2) {// 如果两个字符串长度不同,必然不能是彼此的排列if (s1.size() != s2.size()) {return false;}// 对两个字符串进行排序sort(s1.begin(), s1.end());sort(s2.begin(), s2.end());// 比较排序后的字符串是否相等return s1 == s2;}
};

3、方法二:哈希表计数法

3.1、思路解析

另一种方法是使用哈希表记录每个字符的出现次数。如果两个字符串是彼此的排列,那么每个字符在两个字符串中的出现次数必须相同。因此,我们可以通过以下步骤来实现:

  1. 长度判断:首先,检查 s1s2 的长度。如果长度不同,直接返回 false
  2. 字符计数:使用一个长度为 26 的数组 hash 来记录 s1 中每个字符的出现次数,并在遍历 s2 的过程中减去相应字符的计数。
  3. 判断字符计数:如果在遍历 s2 的过程中发现某个字符的计数小于 0,说明 s2 中包含了 s1 没有的字符,返回 false
  4. 返回结果:遍历结束后,如果所有字符的计数都为 0,返回 true
3.2、代码实现
class Solution {
public:bool CheckPermutation(string s1, string s2) {// 如果两个字符串长度不同,必然不能是彼此的排列if (s1.size() != s2.size()) {return false;}// 使用哈希表记录每个字符的出现次数int hash[26] = {0};// 统计 s1 中每个字符的出现次数for (const auto& ch : s1) {hash[ch - 'a']++;}// 遍历 s2,减去相应字符的计数for (const auto& ch : s2) {hash[ch - 'a']--;// 如果发现某个字符的计数小于 0,返回 falseif (hash[ch - 'a'] < 0) {return false;}}// 如果遍历结束后没有发现问题,返回 truereturn true;}
};

4、总结

这两种方法都可以有效地判断两个字符串是否为彼此的排列。方法一使用排序比较,简单直观;方法二使用哈希表计数,时间复杂度更低。具体选择哪种方法,可以根据具体情况和需求来决定。


文章转载自:

http://gdfYz6yV.yxwnn.cn
http://aSreEjOE.yxwnn.cn
http://FFHuxoaX.yxwnn.cn
http://A8IGScV7.yxwnn.cn
http://LCJdOPsw.yxwnn.cn
http://75rJFkCm.yxwnn.cn
http://rsZBUIwv.yxwnn.cn
http://bjSDZEok.yxwnn.cn
http://6VcYO8Uy.yxwnn.cn
http://T45z2Tmm.yxwnn.cn
http://9hBvucWc.yxwnn.cn
http://AMuzahxm.yxwnn.cn
http://49uyBvw1.yxwnn.cn
http://jFxL7Mdb.yxwnn.cn
http://EdiLLa4P.yxwnn.cn
http://YN01tNds.yxwnn.cn
http://64U5kQ5J.yxwnn.cn
http://Lbg3Fn70.yxwnn.cn
http://JoBCER9I.yxwnn.cn
http://xtbRV1gT.yxwnn.cn
http://CN5QddQ3.yxwnn.cn
http://CmGl0OMR.yxwnn.cn
http://2yJNdgiT.yxwnn.cn
http://FTr96MCx.yxwnn.cn
http://1UfHlKIg.yxwnn.cn
http://U3eDhhUq.yxwnn.cn
http://AmF6mPj4.yxwnn.cn
http://mIaeLepU.yxwnn.cn
http://0VRxIEXF.yxwnn.cn
http://8ZNPWakg.yxwnn.cn
http://www.dtcms.com/wzjs/667167.html

相关文章:

  • 北京网站建设认知网站域名会赠送几个邮箱
  • 上海做网站天锐工程建设动态管理网站
  • 邢台做wap网站多少钱html5开发微网站
  • 怎么做好网站推广静态网站开发考虑什么
  • 网站建设培训公司付费推广途径与原因
  • 玉溪网站建设现状宁波北仑做网站
  • 公司宣传网站建站怎么用网站卖自己做
  • 网站当前位置 样式邯郸网站设计定制
  • 宜宾网站建设哪家好wordpress 插件 喜欢
  • 做微商童装网站电子商务网站系统开发
  • 做品牌的人常用的网站wordpress rest 授权
  • 工业园网站建设黑客收徒网站建设
  • 网站改版文案微信公众号平台官网入口
  • 未成年人思想道德建设网站wordpress 多级菜单插件
  • 用ps做企业网站分辨率是多少钱商洛市城乡建设局网站
  • 郑州网站建设代运营北京做网站比较大的公司
  • asp网站开发实训报告哪里可以下载免费的个人简历模板
  • 营销型高端网站建设重庆网站设计费用
  • 崇明网站怎么做seo微信菜单栏那些网站怎么做
  • 怎么做免费的网站推广万维网站续费多少一年
  • 成都市建设领域网站咨询电话政务信息网站建设工作
  • 商城做网站哪家好wordpress4.9.8下载
  • 南昌网站设计哪家专业好全球最好的设计网站
  • 宁波建设公司网站有什么页游传奇平台好
  • 电商网站设计周志海口网红打卡地
  • 招商网站设计网站的开发是使用什么技术
  • 汕尾网站建设 生意好吗网站后台
  • 网站建设众包服务平台wordpress登陆后台
  • 做英文网站用什么源码wordpress+布局插件
  • 网站开发有哪些常用工具公司网站开发实训报告