leetcode 383.赎金信题解(c++版)

题目描述

leetcode 383.赎金信题解(c++版)_第1张图片

分析

分析一下题目可知,给两个字符串,判断一个是否是另外一个的子集
将ma中的字符放进map里面(key是字符,value是次数)-> 遍历另外一个字符串 -> 对应字符的value值减1 -> 得出结论只要出现负数即false

代码实现

class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        unordered_map<char, int> umap;
        for(int i=0; i<magazine.size(); i++)
        {
            umap[magazine[i]]++;
        }
        for(int j=0; j<ransomNote.size(); j++)
        {
            umap[ransomNote[j]]--;
            if(umap[ransomNote[j]] < 0)
            {
                return false;
            } 
        }
        return true;

    }
};

你可能感兴趣的:(leetcode,c++,算法)