给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。 假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你

class Solution {
    public int countCharacters(String[] words, String chars) {
     Map<Character,Integer> charsint = new HashMap<Character,Integer>();
     
     for(char c : chars.toCharArray()){
         charsint.put(c,charsint.getOrDefault(c,0)+1);
     }
     int num = 0;
    
     for(String word : words){
          Map<Character,Integer> wordpack = new HashMap<Character,Integer>();
         for(char a : word.toCharArray()){
             wordpack.put(a,wordpack.getOrDefault(a,0)+1);
         }
         boolean ans = true;
         for(char b : word.toCharArray()){
         //用哈希map判断是字母群中的个数是大于单词的
             if(charsint.getOrDefault(b,0)<wordpack.getOrDefault(b,0)){
                 ans = false;
             }
         }
         if(ans){
             num += word.length();
         }
     }
     return num;
    }
}
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 1024 设计师:白松林 返回首页