2020-06-04 1160. 拼写单词

题目

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;
    }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

友情链接更多精彩内容