【力扣】1832.判断句子是否为全字母句

简介: 【力扣】1832.判断句子是否为全字母句

题目描述

全字母句 指包含英语字母表中每个字母至少一次的句子。

给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句

如果是,返回 true ;否则,返回 false


示例 1:


输入:sentence = “thequickbrownfoxjumpsoverthelazydog”

输出:true

解释:sentence 包含英语字母表中每个字母至少一次。


示例 2:


输入:sentence = “leetcode”

输出:false


提示:


1 <= sentence.length <= 1000

sentence 由小写英语字母组成

解题方法

  • C
bool checkIfPangram(char* sentence) {

    int len = strlen(sentence);     // 获取字符串长度
    int index = 0;                  // 定义索引
    char alphabet[26] = {0};        // 定义字母表

    if(len < 26)        // 少于 26 个字符一定不全
    {
        return false;
    }

    for(int i = 0; i < len; i++)
    {
        if('a' <= sentence[i] <= 'z')   // 判断小写字母
        {
            index = sentence[i] - 'a';  // 拿到索引
            alphabet[index]++;          // 计数
        }
        else
        {
            return false;
        }
    }

    for(int j = 0; j < 26; j++)
    {
        if(alphabet[j] == 0)    // 查找未出现的字母
        {
            return false;
        }
    }

    return true;
}

复杂度分析

  • 时间复杂度:O(n+C),其中 n 是 sentence 的长度,C 是字符集的大小(即小写字母的个数)。整个过程只需要遍历一次 sentence 和 exist。
  • 空间复杂度:O( C ),其中 C 为字符集大小。


相关文章
|
3月前
|
存储 算法
LeetCode第49题字母异位词分组
LeetCode第49题"字母异位词分组"的解题方法,通过将每个字符串的字符排序后作为键存储在HashMap中,有效地将所有字母异位词分组。
LeetCode第49题字母异位词分组
|
29天前
|
存储
Leetcode第49题(字母异位词分组)
LeetCode第49题要求将字符串数组中的字母异位词分组,可以通过将每个字符串排序后作为键存入哈希表,最后将哈希表中的值添加到结果列表中来实现。
14 1
|
29天前
|
算法
Leetcode第十七题(电话号码的字母组合)
这篇文章介绍了如何使用深度优先搜索(DFS)算法来解决LeetCode第17题——电话号码的字母组合问题,通过递归方法生成所有可能的字母组合。
15 0
Leetcode第十七题(电话号码的字母组合)
|
29天前
|
索引
【LeetCode 11】242.有效的字母异位词
【LeetCode 11】242.有效的字母异位词
13 0
【LeetCode 11】242.有效的字母异位词
|
28天前
|
算法
【LeetCode 52】17.电话号码的字母组合
【LeetCode 52】17.电话号码的字母组合
29 0
|
3月前
|
算法
LeetCode第17题电话号码的字母组合
该文章介绍了 LeetCode 第 17 题电话号码的字母组合的解法,通过分析得出可使用递归和回溯的思想解决,避免循环穷举的高循环次数,并给出了具体的编码实现,同时总结了该题较难理解,需要了解递归的本质,当嵌套循环层次多时可考虑递归。
LeetCode第17题电话号码的字母组合
|
5月前
|
算法 容器
【LeetCode刷题】滑动窗口解决问题:水果成篮、找到字符串中所有字母异位词
【LeetCode刷题】滑动窗口解决问题:水果成篮、找到字符串中所有字母异位词
|
5月前
|
存储 算法 安全
LeetCode 题目 49:字母异位词分组 5种算法实现与典型应用案例【python】
LeetCode 题目 49:字母异位词分组 5种算法实现与典型应用案例【python】
|
5月前
|
存储
力扣经典150题第四十二题:字母异位词分组
力扣经典150题第四十二题:字母异位词分组
30 0
|
5月前
|
存储
力扣经典150题第四十一题:有效的字母异位词
力扣经典150题第四十一题:有效的字母异位词
24 0