码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 【LeetCode】16. RansomNode·赎金信


    ​活动地址:CSDN21天学习挑战赛

    题目描述

    英文版描述

    Given two strings ransomNote and magazine, return true if ransomNote can be constructed by using the letters from magazine and false otherwise. Each letter in magazine can only be used once in ransomNote.

    英文版地址

    https://leetcode.com/problems/ransom-note/

    中文版描述

    给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。

    示例 1:

    输入:ransomNote = "a", magazine = "b"

    输出:false

    示例 2:

    输入:ransomNote = "aa", magazine = "ab"

    输出:false

    示例 3:

    输入:ransomNote = "aa", magazine = "aab"

    输出:true

    提示:

    • 1 <= ransomNote.length, magazine.length <= 105

    • ransomNote 和 magazine 由小写英文字母组成

    中文版地址

    https://leetcode.cn/problems/ransom-note/

    解题思路

    读取输入单词并遍历其字母,将读取到的字母存入集合,在便利第二个单词的时候,每读取到一个字母,查询集合中是否包含,有的话移除,没有直接返回false,直到第二个单词中的字母全部遍历完成,如果集合为空则返回true,否则返回false 由于magazine 中的每个字符只能在 ransomNote 中使用一次,所以使用list

    解题方法

    俺这版

    1. class Solution {
    2. public boolean canConstruct(String ransomNote, String magazine) {
    3. if (ransomNote.length() > magazine.length()) {
    4. return false;
    5. }
    6. int[] cnt = new int[26];
    7. for (char c : magazine.toCharArray()) {
    8. cnt[c - 'a']++;
    9. }
    10. for (char c : ransomNote.toCharArray()) {
    11. cnt[c - 'a']--;
    12. if(cnt[c - 'a'] < 0) {
    13. return false;
    14. }
    15. }
    16. return true;
    17. }
    18. }

    官方版

     

    1. class Solution {
    2. public boolean canConstruct(String ransomNote, String magazine) {
    3. if (ransomNote.length() > magazine.length()) {
    4. return false;
    5. }
    6. int[] cnt = new int[26];
    7. for (char c : magazine.toCharArray()) {
    8. cnt[c - 'a']++;
    9. }
    10. for (char c : ransomNote.toCharArray()) {
    11. cnt[c - 'a']--;
    12. if(cnt[c - 'a'] < 0) {
    13. return false;
    14. }
    15. }
    16. return true;
    17. }
    18. }
  • 相关阅读:
    二十三种设计模式全面解析-适配器模式的妙用:异构数据库和不同版本API的完美兼容!
    13、Java——“21点”扑克游戏系统(变量+循环)
    【PyQt小知识 - 3】: QComboBox下拉框内容的设置和更新、默认值的设置、值和下标的获取
    create_generated_clock invert preinvert shift_edge是否符合设计真实状态很重要【示例1】
    函数防抖与节流
    驱动开发day4(实现通过字符设备驱动的分布实现编写LED驱动,实现设备文件的绑定)
    3.代码生成器编写
    【VASP】POSCAR文件
    jdk8更新到333了,你确定不更新你的Java吗
    【SMOKE-CMAQ实践技术】10天,从小白-精通一站式技能提升
  • 原文地址:https://blog.csdn.net/aqin1012/article/details/126330587
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号