赎金信--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

cpp 复制代码
class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        if (ransomNote.empty()) {
            return true;
        }
        if (magazine.empty()) {
            return false;
        }
        if (magazine.size() < ransomNote.size()) {
            return false;
        }
        // int* record = new int[26];
        vector<int> record(26, 0);
        for (const auto& c : magazine) {
            record[c - 'a']++;
        }

        for (const auto& c : ransomNote) {
            record[c - 'a']--;
            if (record[c - 'a'] < 0) {
                return false;
            }
        }

        return true;
    }
};
相关推荐
xxxmmc3 小时前
Leetcode 100 The Same Tree
算法·leetcode·职场和发展
Asmalin3 小时前
【代码随想录day 32】 力扣 509.斐波那契数列
算法·leetcode·职场和发展
胖咕噜的稞达鸭3 小时前
算法入门:专题攻克主题一---双指针(1)移动零 复写零
c语言·开发语言·c++·算法
海琴烟Sunshine3 小时前
leetcode 35.搜索插入的位置 python
python·算法·leetcode
程序员-King.3 小时前
day85——区域和的检索(LeetCode-303)
算法·前缀和
剪一朵云爱着3 小时前
力扣2200. 找出数组中的所有 K 近邻下标
算法·leetcode
海琴烟Sunshine3 小时前
leetcode 28. 找出字符串中第一个匹配项的下标 python
linux·python·leetcode
胖咕噜的稞达鸭4 小时前
算法入门:专题攻克主题一---双指针(2)快乐数 呈最多水的容器
开发语言·数据结构·c++·算法
自信的小螺丝钉5 小时前
Leetcode 347. 前 K 个高频元素 堆 / 优先队列
算法·leetcode·优先队列·