【LeetCode】赎金信


一、题目

给你两个字符串: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 由小写英文字母组成


二、解法

利用哈希表,同时遍历两个字符串,记录字母出现的次数【ransomNote1magazine1】,最后如果ransomNote 遍历完了,而且字母对应的位置大于等于0 了, 就可以了
时间复杂度O(max(m,n))


完整代码

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        tag = [0] * 26
        m, n = len(ransomNote), len(magazine)
        if m > n:
            return False
        i = 0
        while i < m:
            tag[ord(ransomNote[i]) - 97] -= 1
            tag[ord(magazine[i]) - 97] += 1
            i += 1
        while i < n:
            tag[ord(magazine[i]) - 97] += 1
            i += 1
        for i in range(26):
            if tag[i] < 0:
                return False
        return True

相关推荐

  1. LeetCode383 —赎金

    2024-07-09 20:42:07       31 阅读
  2. LeetCode 383】 赎金

    2024-07-09 20:42:07       26 阅读
  3. LeetCode赎金

    2024-07-09 20:42:07       22 阅读
  4. Leetcode 383. 赎金

    2024-07-09 20:42:07       15 阅读
  5. LeetCode 0383. 赎金:计数

    2024-07-09 20:42:07       54 阅读
  6. LeetCode每日一题 | 383. 赎金

    2024-07-09 20:42:07       53 阅读
  7. LeetCode】383. 赎金(String的遍历)

    2024-07-09 20:42:07       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 20:42:07       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 20:42:07       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 20:42:07       42 阅读
  4. Python语言-面向对象

    2024-07-09 20:42:07       53 阅读

热门阅读

  1. Pip换源,以及python解耦方法实现

    2024-07-09 20:42:07       21 阅读
  2. qt 线程举例

    2024-07-09 20:42:07       21 阅读
  3. 知名的以图叙事开源平台和工具

    2024-07-09 20:42:07       29 阅读
  4. windows局域网文件传输方案

    2024-07-09 20:42:07       23 阅读
  5. 宝塔内 计划任务更新远程主机的时间

    2024-07-09 20:42:07       24 阅读
  6. kotlin 两个 list 怎么过滤重复数据

    2024-07-09 20:42:07       20 阅读
  7. VBA中打开、保存关闭Excel工作簿的方法

    2024-07-09 20:42:07       18 阅读