【2022-12-13每日一题】1832. 判断句子是否为全字母句[Easy]
2022-12-13
1分钟阅读时长
2022-12-13每日一题:1832. 判断句子是否为全字母句
难度:Easy
标签:哈希表 、 字符串
全字母句 指包含英语字母表中每个字母至少一次的句子。
给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为 全字母句 。
如果是,返回 true ;否则,返回 false 。
示例 1:
输入:sentence = "thequickbrownfoxjumpsoverthelazydog"
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。
示例 2:
输入:sentence = "leetcode" 输出:false
提示:
- 1 <= sentence.length <= 1000
- sentence由小写英语字母组成
方法一:哈希表
func checkIfPangram(sentence string) bool {
    if len(sentence) < 26 {
        return false
    }
    exist := [26]bool{}
    for _, c := range sentence {
        exist[c-'a'] = true
    }
    for _, v := range exist {
        if !v {
            return false
        }
    }
    return true
}
复杂度分析
- 时间复杂度:O(n)。
- 空间复杂度:O(C),C=26。
方法二:二进制
func checkIfPangram(sentence string) bool {
    mask := 0
    for _, c := range sentence {
        mask |= 1 << (c - 'a')
    }
    return mask == 1<<26-1
}
复杂度分析
- 时间复杂度:O(n)。
- 空间复杂度:O(1)。