【力扣】383.赎金信

简介: 【力扣】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 字母表
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;
}


相关文章
|
5月前
|
Java C++ Python
leetcode-383:赎金信
leetcode-383:赎金信
43 1
|
5月前
|
Java
383. 赎金信 --力扣 --JAVA
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能c里面的字符构成。 如果可以,返回 true ;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。
40 1
|
12月前
|
索引
【Leetcode -383.赎金信 -387.字符串中的第一个唯一字符】
【Leetcode -383.赎金信 -387.字符串中的第一个唯一字符】
38 0
|
4月前
|
存储
力扣经典150题第三十九题:赎金信
力扣经典150题第三十九题:赎金信
24 0
|
5月前
|
存储 算法 Java
[Java·算法·简单] LeetCode 383. 赎金信 详细解读
[Java·算法·简单] LeetCode 383. 赎金信 详细解读
51 0
LeetCode150道面试经典题--赎金信(简单)
给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
61 0
|
5月前
|
算法
六六力扣刷题哈希表之赎金信
六六力扣刷题哈希表之赎金信
32 0
|
11月前
|
算法
代码随想录算法训练营第七天 | LeetCode 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
代码随想录算法训练营第七天 | LeetCode 454.四数相加II、383. 赎金信、15. 三数之和、18. 四数之和
41 0
|
算法 Java
【leetcode速通java版】06——赎金信、三数之和
【leetcode速通java版】06——赎金信、三数之和