#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;
        else
         {
            unordered_map<char, int>ran;
            unordered_map<char, int>mag;
            for(auto c:ransomNote)
                ran[c]++;           //记录每种字符出现次数、统计字符出现频率
            for(auto c:magazine)
                mag[c]++;
            for(auto c:ransomNote)
            {
                if(ran[c] > mag[c])
                    return false;
            }
            return true;
         }
    }
};