分析
贖金信在偵探系列是容易出現的場景,為了不暴露自己的筆跡,利用一本雜誌裡面已有的字元來組裝自己的信。倘若這本雜誌的字元不夠,那麼贖金信就無法完成。這道題與Valid-Anagram本質上是一致的。Anagram要求字元型別和數量完全一致,本題要求雜誌裡面所有的字串型別和數量是贖金信的超集
這道題就不花太多時間再繼續深究
主類
class Solution {
public boolean canConstruct(String ransomNote, String magazine) {
if ( ransomNote == null || magazine == null) {
return false;
}
if (magazine.length() ==0 || magazine.length() < ransomNote.length()) {
return false;
}
int[] arraybucket = new int[26];
for(int i = 0; i < magazine.length(); i++) {
arraybucket[magazine.charAt(i) - 'a']++;
}
for(int i = 0; i < ransomNote.length(); i++) {
arraybucket[ransomNote.charAt(i) - 'a']--;
if (arraybucket[ransomNote.charAt(i)- 'a'] < 0) {
return false;
}
}
return true;
}
}