#include <unordered_map>
class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param ransomNote string字符串 
     * @param magazine string字符串 
     * @return bool布尔型
     */
    bool canConstruct(string ransomNote, string magazine) {
        // write code here
        if(ransomNote.size() > magazine.size()) return false;

        unordered_map<char, int>magCout;

        for(char c : magazine)// 统计 magazine 中每个字符的出现次数
        {
            magCout[c]++;
        }

        for(char c : ransomNote)
        {
            if(magCout[c] <= 0)
                return false;
            magCout[c]--;
        }
       return true;
    }
};