1832 判断句子是否为全字母句(字典计数)

本文介绍如何使用Python字典和defaultdict来检查一个字符串是否构成全字母句,即包含英文字母表所有字母。通过统计每个字母的出现次数,如果总数达到26,即为全字母句。适合初学者理解基本的数据结构应用。
摘要由CSDN通过智能技术生成

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值