【力扣】383.赎金信

题目描述

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

解题方案

  • C 哈希表
c 复制代码
bool canConstruct(char* ransomNote, char* magazine) {
    int alphabet[26] = {0};
    int i = 0;

    for (i = 0; i < strlen(magazine); i++) {
        alphabet[magazine[i] - 'a']++;
    }

    for (i = 0; i < strlen(ransomNote); i++) {
        alphabet[ransomNote[i] - 'a']--;
    }

    for (i = 0; i < 26; i++) {
        if (alphabet[i] < 0) {
            return false;
        }
    }
    return true;
}
相关推荐
CoderCodingNo21 分钟前
【NOIP】2011真题解析 luogu-P1003 铺地毯 | GESP三、四级以上可练习
算法
iFlyCai36 分钟前
C语言中的指针
c语言·数据结构·算法
查古穆1 小时前
栈-有效的括号
java·数据结构·算法
再一次等风来1 小时前
近场声全息(NAH)仿真实现:从阵列实值信号到波数域重建
算法·matlab·信号处理·近场声全息·nah
汀、人工智能1 小时前
16 - 高级特性
数据结构·算法·数据库架构·图论·16 - 高级特性
你撅嘴真丑1 小时前
[蓝桥杯 2025 省 B] 生产车间 与 装修报价
职场和发展·蓝桥杯
大熊背1 小时前
利用ISP离线模式进行分块LSC校正的方法
人工智能·算法·机器学习
XWalnut1 小时前
LeetCode刷题 day4
算法·leetcode·职场和发展
蒸汽求职2 小时前
机器人软件工程(Robotics SDE):特斯拉Optimus落地引发的嵌入式C++与感知算法人才抢夺战
大数据·c++·算法·职场和发展·机器人·求职招聘·ai-native
AI成长日志2 小时前
【笔面试算法学习专栏】双指针专题·简单难度两题精讲:167.两数之和II、283.移动零
学习·算法·面试