【力扣】383.赎金信

题目描述

给你两个字符串: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

提示:

  • 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;
}
相关推荐
文丑颜不良啊12 分钟前
LeetCode1861~1880题目解析
java·leetcode
文丑颜不良啊30 分钟前
LeetCode1921~1940题目解析
java·leetcode
一只不想敲代码的程序猿1 小时前
如何更高效地拆解问题?
算法
微尘hjx2 小时前
【Deep-OC-SORT 02】多轨迹算法Deep-OC-SORT-相对 OC-SORT 的改进点
人工智能·算法·yolo·目标跟踪·视觉检测·ultralytics·deep-oc-sort
梦帮科技2 小时前
意识启发式量子隧穿退火算法用于全局优化 (CITA) 完整技术指南
网络·人工智能·算法·量子计算·模拟退火算法
一去不复返的通信er3 小时前
排序 + 双指针:力扣15三数之和
算法·leetcode
文丑颜不良啊3 小时前
LeetCode1901~1920题目解析
java·leetcode
Pniubi4 小时前
力扣3无重复字符的最长字串(滑动窗口)
算法·leetcode·职场和发展
On The Road :4 小时前
深入理解 JVM 垃圾回收:GC 是什么、如何判定垃圾、四大回收算法全解析
jvm·算法
微尘hjx5 小时前
【Deep-OC-SORT 03】多轨迹算法Deep-OC-SORT-卡尔曼滤波预测过程
算法·yolo·目标跟踪·ultralytics·车跟踪·轨迹算法·deep-oc-sort