【力扣】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;
}
相关推荐
执风挽^1 天前
Python_func_basic
开发语言·python·算法·visual studio code
努力d小白1 天前
leetcode438.找到字符串中所有字母异位词
java·javascript·算法
tangchao340勤奋的老年?1 天前
ADS通信 C++ 设置通知方式读取指定变量
开发语言·c++·算法
wangluoqi1 天前
26.2.5练习总结
数据结构·算法
We་ct1 天前
LeetCode 1. 两数之和:两种高效解法(双指针 + Map)
前端·算法·leetcode·typescript·哈希算法
aini_lovee1 天前
基于MATLAB的材料晶粒组织生长与变化模拟:方法、实现与应用
开发语言·算法·matlab
t198751281 天前
基于MATLAB的Copula对数似然值计算与参数验证
人工智能·算法·matlab
潇冉沐晴1 天前
div2 1064补题笔记(A~E)
笔记·算法
YuTaoShao1 天前
【LeetCode 每日一题】3640. 三段式数组 II——(解法二)DP
算法·leetcode·职场和发展
我爱工作&工作love我1 天前
P4913 【深基16.例3】二叉树深度 dfs-二叉树的遍历
算法·深度优先·图论