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

力扣经典面试题

1.本题的目标是判断字符串ransomNote是否由字符串magazine中的字符构成,且由magazine中的每个字符只能在ransomNote中使用一次

2.采用的方法是通过一个字典cahr_countl来统计magazine字符串中每个字符出现的次数

3.然后遍历ransomNote字符串,对于其中的每个字符,检查它是否在char_count字典中且对应的计数大于0。如果是,就将该字符在字典中的计数减1,表示已经使用了这个字符一次;如果不满足条件(字符不在字典中或者计数已经为0),就说明无法用magazine中的子粗构成ransomNote,直接返回false。

4.如果能够顺利遍历完ransomNote字符串,说明ransomNote可以由magazine中的字符构成,此时返回True

代码:

代码解析:

1.首先创建一个空字典char_count,用于统计magazine字符串中每个字符的出现次数。

         然后通过第一个for循环遍历magazine字符串:

                对于magazine中的每个字符char,先检查它是否已经在char_count字典中,

        如果在,就将其应的计数加 1;如果不在,就将该字符作为键添加到字典中,并将其计数初

        始化为 1。这样就完成了对 magazine 中字符出现次数的统计。

  2. 接着通过第二个for 循环遍历 ransomNote 字符串:

        对于 ransomNote 中的每个字符char,先检查它是否在 字典中,并且该字符在

        字典中的计数是否大于 0。如果满足这两个条件,说明可以使用 magazine 中的这个字符来

        构成ransomNote,此时将该字符在字典中的计数减 1,表示已经使用了一次;如果不满足

        条件(字符不在字典中或者计数已经为 0),就直接返回False,因为无法用 magazine 中

        的字符按照要求构成ransomNote。

如果能够顺利遍历完ransomNote 字符串,没有返回 False,就说明 ransomNote 可以由 magazine 中的字符构成,此时返回Ture


http://www.kler.cn/a/399663.html

相关文章:

  • 嘴尚绝卤味独特的口感
  • 解决Ubuntu18.04及以上版本高分辨率下导致字体过小问题
  • 基于Spring Boot+Unipp的博物馆预约小程序(协同过滤算法、二维码识别)【原创】
  • shell 100例
  • Python中的with语句
  • React中组件通信的几种方式
  • 【原创】java+ssm+mysql商品库存管理系统(进销存)设计与实现
  • Springboot如何打包部署服务器
  • matlab的函数名和函数文件名的关系(编程注意事项)
  • 深入解析 Vue 3 中的 watch 和 watchEffect
  • 基于Lora通讯加STM32空气质量检测WIFI通讯
  • 一个简单的图像分类项目(九)并行训练的学习:多GPU的DP(DataParallel数据并行)
  • 删除缓存之后,浏览器显示登录新设备
  • 【Linux】进程字段、环境变量与进程地址空间
  • 人机混合意识与人类意识不同
  • CVE-2024-2961漏洞的简单学习
  • 蓝队知识浅谈(中)
  • C缺陷与陷阱 — 7 可移植性缺陷
  • 【计算机网络】协议定制
  • uni-app快速入门(五)--判断运行环境及针对不同平台的条件编译
  • ZYNQ程序固化——ZYNQ学习笔记7
  • WebRTC视频 02 - 视频采集类 VideoCaptureModule
  • SQL注入注入方式(大纲)
  • 运算放大器的学习(一)输入阻抗
  • 阅读2020-2023年《国外军用无人机装备技术发展综述》笔记_技术趋势
  • Spring Boot框架:电商系统的技术优势