1. 程式人生 > >383. Ransom Note

383. Ransom Note

term struct ngs 題目 let 字符串 lean fault truct

Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false.

Each letter in the magazine string can only be used once in your ransom note.

Note:
You may assume that both strings contain only lowercase letters.

canConstruct("a", "b") -> false
canConstruct("aa", "ab") -> false
canConstruct("aa", "aab") -> true

題目含義:判斷給定字符串能否由另一字符串中字符組合生成
 1     public boolean canConstruct(String ransomNote, String magazine) {
 2         Map<Character,Integer> letterMap = new
HashMap<>(); 3 for (Character c:magazine.toCharArray()) 4 { 5 letterMap.put(c,letterMap.getOrDefault(c,0)+1); 6 } 7 8 for (Character c:ransomNote.toCharArray()) 9 { 10 int count = letterMap.getOrDefault(c,0); 11 if
(count<=0) return false; 12 letterMap.put(c,--count); 13 } 14 return true; 15 }

383. Ransom Note