1. 问题描述:
全字母句指包含英语字母表中每个字母至少一次的句子。给你一个仅由小写英文字母组成的字符串 sentence ,请你判断 sentence 是否为全字母句。如果是,返回 true ;否则,返回 false 。
示例 1:
输入:sentence = "thequickbrownfoxjumpsoverthelazydog"
输出:true
解释:sentence 包含英语字母表中每个字母至少一次。
示例 2:
输入:sentence = "leetcode"
输出:false
提示:
1 <= sentence.length <= 1000
sentence
由小写英语字母组成
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/check-if-the-sentence-is-pangram
2. 思路分析:
分析题目可以知道我们需要记录每一个字母出现的次数,因为使用的是python语言所以可以使用字典进行计数,使用collections.defaultdict(int)声明一个字典,借助于一个int变量,当当前字母在字典中对应的值为0的时候说明是第一次出现那么计数加1,当遍历字符串结束之后那么通过判断计数变量是否大于等于26判断是否出现了所有的字母。
3. 代码如下:
import collections
class Solution:
def checkIfPangram(self, sentence: str) -> bool:
# 其实就是计数, 计算每一个字母出现的次数即可
dic = collections.defaultdict(int)
count = 0
for i in range(len(sentence)):
if dic[sentence[i]] == 0:
count += 1
dic[sentence[i]] += 1
return count >= 26