网站响应式设计,网站建设万禾,莱芜最新莱芜话题,祥云平台技术支持双语网站给你两个字符串#xff1a;ransomNote 和 magazine #xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以#xff0c;返回 true #xff1b;否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1#xff1a;
输入#…给你两个字符串ransomNote 和 magazine 判断 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 105ransomNote 和 magazine 由小写英文字母组成
class Solution {
public:bool canConstruct(string ransomNote, string magazine) {if(ransomNote.size()magazine.size()){return false;}vectorint hash(256);for(auto x:magazine){hash[x];}for(auto x:ransomNote){--hash[x];if(hash[x]0){return false;}}return true;}
};
这道题的总体思路比较简单就是采用哈希表统计每个字符的个数若ransomNote的字符个数大于magazine的则返回false。一开始脑子抽了开了两个哈希表来存储这样大大提高了时间复杂度。