【力扣·每日一题】748. 最短补全词(C++ 模拟)

简介: 【力扣·每日一题】748. 最短补全词(C++ 模拟)

linkk

题意:

20200401134307494.png

思路:

题目有几个关键点:


不区分大小写

补全词优先选最短的

同样短的选最靠前的

预处理出字符串l i c e n s e P l a t e中每个字母出现的次数(不区分大小写)

然后遍历给出的补全词集合,对于每个补全词统计每个字母出现的次数,看是否符合题目的要求,再选择最靠前的最短的作为答案。

代码:

class Solution {
public:
    string shortestCompletingWord(string licensePlate, vector<string>& words) {
        int a[27],b[27];
        memset(a,0,sizeof a);
        for(int i=0;licensePlate[i];i++){
            char t=licensePlate[i];
            if(t>='A'&&t<='Z') a[t-'A']++;
            else if(t>='a'&&t<='z') a[t-'a']++;
        }
        string ans="9999999999999999999999999999999999999999999999999999999";
        for(string s:words){
            memset(b,0,sizeof b);
            for(int i=0;s[i];i++) b[s[i]-'a']++;
            bool flag=1;
            for(int j=0;j<26;j++)
                if(a[j]!=0&&a[j]>b[j]){
                    flag=0;break;
                }
            if(flag){
                if(ans.size()>s.size())
                    ans=s;
            }
        }
        return ans;
    }
};
目录
相关文章
|
8天前
|
Go C++
【力扣】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
【2月更文挑战第18天】2696. 删除子串后的字符串最小长度(模拟 栈 C++ Go实现栈)
36 6
|
8天前
|
算法 Java C语言
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
C++和Java中的随机函数你玩明白了吗?内附LeetCode470.rand7()爆改rand10()巨详细题解,带你打败LeetCode%99选手
|
2天前
|
机器学习/深度学习 canal NoSQL
从C语言到C++_12(string相关OJ题)(leetcode力扣)
从C语言到C++_12(string相关OJ题)(leetcode力扣)
8 0
|
2天前
|
编译器 测试技术 C语言
从C语言到C++_11(string类的常用函数)力扣58和415(下)
从C语言到C++_11(string类的常用函数)力扣58和415
4 0
|
2天前
|
存储 编译器 C语言
从C语言到C++_11(string类的常用函数)力扣58和415(中)
从C语言到C++_11(string类的常用函数)力扣58和415
6 0
|
2天前
|
存储 C语言 C++
从C语言到C++_11(string类的常用函数)力扣58和415(上)
从C语言到C++_11(string类的常用函数)力扣58和415
7 0
|
8天前
|
存储 编译器 Linux
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
标准库中的string类(中)+仅仅反转字母+字符串中的第一个唯一字符+字符串相加——“C++”“Leetcode每日一题”
|
8天前
|
存储 Java C++
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
leetcode 2525 根据规则将箱子分类 c++ pyhton java c题解
15 1
|
8天前
|
Go C++
【力扣】2645. 构造有效字符串的最小插入数(动态规划 贪心 滚动数组优化 C++ Go)
【2月更文挑战第17天】2645. 构造有效字符串的最小插入数(动态规划 贪心 滚动数组优化 C++ Go)
32 8
|
8天前
|
算法 C++
【刷题】Leetcode 1609.奇偶树
这道题是我目前做过最难的题,虽然没有一遍做出来,但是参考大佬的代码,慢慢啃的感觉的真的很好。刷题继续!!!!!!
12 0