【力扣】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;
}
相关推荐
玛丽莲茼蒿14 分钟前
LeetCode hot100【相交链表】【简单】
算法·leetcode·职场和发展
罗湖老棍子14 分钟前
They Are Everywhere(Codeforces- P701C)
算法·滑动窗口·codeforce题解
wen__xvn14 分钟前
力扣模拟题刷题
算法·leetcode
bbbb36514 分钟前
算法复杂度与能耗关系的多变量分析研究的技术7
算法
不要秃头的小孩17 分钟前
力扣刷题——111.二叉树的最小深度
数据结构·python·算法·leetcode
wutang0ka29 分钟前
LeeCode HOT 100 104.二叉树的最大深度
算法
散峰而望33 分钟前
【基础算法】从入门到实战:递归型枚举与回溯剪枝,暴力搜索的初级优化指南
数据结构·c++·后端·算法·机器学习·github·剪枝
setmoon21435 分钟前
C++代码规范化工具
开发语言·c++·算法
进击的小头1 小时前
第15篇:MPC的发展方向及展望
python·算法
We་ct1 小时前
LeetCode 35. 搜索插入位置:二分查找的经典应用
前端·算法·leetcode·typescript·个人开发