LeetCode748 最短补全词[数组 字母] HERODING的LeetCode之路

Posted HERODING23

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LeetCode748 最短补全词[数组 字母] HERODING的LeetCode之路相关的知识,希望对你有一定的参考价值。




解题思路:
一道非常简单的字母统计题目,首先统计好licensePlate的单词个数,然后遍历words数组,每次统计好再和licensePlate的字母对比,如果都有,更新idx(根据最短和最前更新),最后返回words[idx],代码如下:

class Solution 
public:
    string shortestCompletingWord(string licensePlate, vector<string>& words) 
        int count[26] = 0;
        for(auto& l : licensePlate) 
            if(isalpha(l)) 
                count[tolower(l) - 'a'] ++;
            
        
        int idx = -1;
        for(int i = 0; i < words.size(); i ++) 
            int temp[26] = 0;
            for(auto& word : words[i]) 
                temp[word - 'a'] ++;
            
            bool judge = true;
            for(int j = 0; j < 26; j ++) 
                if(temp[j] < count[j]) 
                    judge = false;
                    break;
                
            
            if(judge && (idx == -1 || words[i].size() < words[idx].size())) 
                idx = i;
            
        
        return words[idx];
    
;

以上是关于LeetCode748 最短补全词[数组 字母] HERODING的LeetCode之路的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode - 748. 最短补全词 - java

解题报告Leecode 748. 最短补全词——Leecode每日一题系列

解题报告Leecode 748. 最短补全词——Leecode每日一题系列

《LeetCode之每日一题》:231.最短补全词

算法千题案例每日LeetCode打卡——92.最短补全词

算法千题案例每日LeetCode打卡——92.最短补全词