赎金信--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;
    }
};
相关推荐
Trouvaille ~6 小时前
【Linux】线程同步与互斥(一):线程互斥原理与mutex详解
linux·运维·服务器·c++·算法·线程·互斥锁
2501_940315266 小时前
leetcode统计一致字符串的数目(哈希表)
算法·哈希算法·散列表
清铎6 小时前
项目_Agent实战
开发语言·人工智能·深度学习·算法·机器学习
J_liaty6 小时前
SpringBoot 自定义注解实现接口加解密:一套完整的多算法方案
java·spring boot·算法
m0_748708056 小时前
C++代码移植性设计
开发语言·c++·算法
Σίσυφος19006 小时前
特征值分解eig
人工智能·算法
子豪-中国机器人6 小时前
2026年1月31日特长测试常见难点
算法
m0_706653236 小时前
高性能网络协议栈
开发语言·c++·算法
永远睡不够的入6 小时前
类和对象(上)
开发语言·c++·算法
想进个大厂7 小时前
代码随想录day31 贪心05
数据结构·算法·leetcode