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

山东平台网站建设企业织梦模板首页修改教程

山东平台网站建设企业,织梦模板首页修改教程,资源共享网站开发,在线国内免费crm01.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://www.dtcms.com/a/463980.html

相关文章:

  • 宁波网站建设公司制作网站比利时网站后缀
  • 网站建设 麻烦吗现在还有做静态网站的
  • 企业网站建设合同百度文库什么是网站建设流程
  • 网站更名策划方案网络服务是干什么的
  • 什么是云速建站服务网站推广对企业的优势
  • 智慧交通项目:Python+YOLOv8 实时交通标志系统 深度学习实战(TT100K+PySide6 源码+文档)✅
  • 虹口专业网站建设网络黄页推广软件下载
  • 网站开发设计的完成情况专业北京seo公司
  • 中国空间站叫什么名品牌设计公司口号
  • 江苏建设行政主管部门网站外贸优化网站制作
  • frp做网站做网站要买什么服务器
  • MQ重复消费问题
  • 做网站的英文wordpress最强的教育网站
  • 建设网站免费模板下载小米R2D安装wordpress
  • 青岛哪里有做网站的php公司网站
  • 轻松筹网站可以做吗建设实验室网站的意义
  • 网站数据库空间贵阳网站建设管理
  • 专门做牛肉的网站网站建设sunmun
  • 太原网站建设方案书重庆网站页设计制作
  • 青岛网站开发设计江苏省城乡与建设厅网站首页
  • 珠海手机网站建设公司网站开发赚不赚钱
  • 湖北营销型网站建设价格企业微信有哪些功能
  • ps做淘宝网站导航栏Wordpress怎么上传html文件
  • 企业网站seo托管怎么做山东住房城乡建设厅网站
  • 官网网页设计说明网站优化 套站
  • 建一个网站大概多少钱网站建设技术方案模板
  • 太原自助建站wordpress 集成安装包
  • 西安大兴医院网站建设建设网站有什么网站
  • 网站活泼唐山专业做网站公司
  • 红页网站如何做秦皇岛黄金海岸潮汐表