力扣:383. 贖金信
383. 贖金信
難度簡(jiǎn)單693
給你兩個(gè)字符串:ransomNote
?和?magazine
?,判斷?ransomNote
?能不能由?magazine
?里面的字符構(gòu)成。
如果可以,返回?true
?;否則返回?false
?。
magazine
?中的每個(gè)字符只能在?ransomNote
?中使用一次。
?
示例 1:
輸入:ransomNote = "a", magazine = "b"輸出:false
示例 2:
輸入:ransomNote = "aa", magazine = "ab"輸出:false
示例 3:
輸入:ransomNote = "aa", magazine = "aab"輸出:true
?
提示:
1 <= ransomNote.length, magazine.length <= 105
ransomNote
?和?magazine
?由小寫(xiě)英文字母組成
思路:
在magazine中尋找是否有足夠的字母->在一個(gè)數(shù)組中查找是否存在一個(gè)元素(的個(gè)數(shù))
用哈希法
第一種對(duì)法:
class?Solution?{
public:
????bool?canConstruct(string?ransomNote,?string?magazine)?{
????????int?check2[50]={0};
????????for(auto?b:magazine){
????????????check2[b-'a']++;
????????}
????????for(auto?a:ransomNote){
????????????check2[a-'a']--;
????????????if(check2[a-'a']<0)return?false;
????????}
????????return?true;
????}
};