「 每日一练,快乐水题 」383. 赎金信

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了「 每日一练,快乐水题 」383. 赎金信相关的知识,希望对你有一定的参考价值。

文章目录


🔴力扣原题:

383. 赎金信

🟠题目简述:

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。

如果可以,返回 true ;否则返回 false 。

magazine 中的每个字符只能在 ransomNote 中使用一次。

🟡解题思路:

  1. 利用哈希表记录magazine字符串的字符频次;
  2. 然后遍历ransomNote字符串,如果有字符没在magazine中则返回false
  3. 如果有,则在哈希表中-1
  4. 遍历哈希表,如果有频次<0的,则返回false,否则则返回true
  5. over;

🟢C++代码:

class Solution 
public:
    bool canConstruct(string ransomNote, string magazine) 
        unordered_map<char, int> umap;

        for(auto ch : magazine)
        
            ++umap[ch];
        

        for(auto ch : ransomNote)
        
            if(umap.count(ch) == 1)
            
                --umap[ch];
            
            else
            
                return false;
            
        

        for(auto it = umap.begin(); it != umap.end(); it++)
        
            if(it->second < 0)
            
                return false;
            
        

        return true;
    
;

🔵结果展示:

以上是关于「 每日一练,快乐水题 」383. 赎金信的主要内容,如果未能解决你的问题,请参考以下文章

「 每日一练,快乐水题 」383. 赎金信

每日leetcode-数组-383. 赎金信

LeetCode 383. 赎金信 / 372. 超级次方 / 1816. 截断句子

383. 赎金信

LeetCode 383. 赎金信

LeetCode:383. 赎金信————简单