题目

4A38G5IC5`7JKZDSM9WO.png
思路
- 将词典和每一个词都转化为int[26]数组
- 用每一个词的数组与词典的字母分布做比较,如果词典包括了该词,则说明掌握了这个词
注意:int和char的转化
代码
class Solution {
public int countCharacters(String[] words, String chars) {
int[] ch = new int[26];
int count = 0,flag=1;
for(char cc : chars.toCharArray()) {
ch[(int)(cc - 'a')] += 1;
}
for (String word : words){
flag = 1;
int[] wd = new int[26];
for(char ww : word.toCharArray()){
wd[(int)(ww - 'a')] += 1;
}
for(int i = 0;i<26;i++){
if(ch[i]<wd[i]){
flag = 0;
break;
}
}
if(flag == 1){
count += word.length() ;
}
}
return count;
}
}