当前位置: 首页 > news >正文

LeeCode题库第1456题

1456.定长子串中元音的最大数目 

项目场景:

给你字符串 s 和整数 k 。

请返回字符串 s 中长度为 k 的单个子字符串中可能包含的最大元音字母数。

英文中的 元音字母 为(aeiou)。

示例 1:

输入:s = "abciiidef", k = 3
输出:3
解释:子字符串 "iii" 包含 3 个元音字母。

示例 2:

输入:s = "aeiou", k = 2
输出:2
解释:任意长度为 2 的子字符串都包含 2 个元音字母。

示例 3:

输入:s = "leetcode", k = 3
输出:2
解释:"lee"、"eet" 和 "ode" 都包含 2 个元音字母。

示例 4:

输入:s = "rhythms", k = 4
输出:0
解释:字符串 s 中不含任何元音字母。

示例 5:

输入:s = "tryhard", k = 4
输出:1

提示:

  • 1 <= s.length <= 10^5
  • s 由小写英文字母组成
  • 1 <= k <= s.length


问题描述

        这题要求定长子串中元音的最大数目,当n小于k时,说明字符串的长度小于k则输出0,之后利用滑动窗口的思想,如果子字符串长度不到k则continue,达到k则计算子串中元音的最大数目,达到数目后下次遍历之前要把最左边的字符移除子串,最终返回ans即可。

class Solution:
    def maxVowels(self, s: str, k: int) -> int:
        ans=0
        cur=0
        n=len(s)
        if n<k:
            return 0
        for r,ch in enumerate(s):
            if ch in "aeiou":
                cur+=1
            if r<k-1:
                continue
            ans=max(ans,cur)
            if s[r-k+1] in "aeiou":
                cur-=1
        return ans



      
        

        本题提交情况。

 

         以上为本篇文章的全部内容,感谢你抽出宝贵的时间阅读这篇文章。如果你有任何疑问或建议,欢迎在评论区留言,我们一起交流进步。愿你的代码之路越走越顺,生活充满阳光!   

相关文章:

  • Linux应用:进程的回收
  • 2018年全国职业院校技能大赛高职组-计算机网络应用竞赛竞赛样题C卷
  • springboot+springai调用deepseek实现与大模型对话聊天
  • Log4j2漏洞攻略
  • H.264视频编解码:从原理到应用
  • 【日志队列】log日志实时写入队列,流式输出
  • 【Java 基础(人话版)】进制转换
  • 【区块链】以太坊
  • 什么是云原生?
  • 前端主题切换架构设计方案
  • 蓝耘携手通义万象 2.1 图生视频:开启创意无限的共享新时代
  • 【软设中级】软件设计师中级专题复习:(专题二)程序语言部分
  • 从AI产品经理视角深度剖析Manus:技术、定位与商业化的三重跃迁
  • 如何快速检测光模块内部光纤裂纹?
  • C++ primer plus 类和对象下
  • 从头开始学C语言第二十三天——指针概念
  • MFC控件按钮的使用
  • 深入浅出消息队列 (MQ)
  • Java 断言(Assert)机制
  • pgAdmin 4汉化,设置界面为中文
  • 圆桌丨全球化博弈与人工智能背景下,企业如何落地合规体系
  • 新版城市规划体检评估解读:把城市安全韧性摆在更加突出位置
  • 俄媒:俄乌伊斯坦布尔谈判将于北京时间今天17时30分开始
  • 国家统计局向多省份反馈统计督察意见
  • 澎湃·镜相第二届非虚构写作大赛初选入围名单公示
  • 4月新增社融1.16万亿,还原地方债务置换影响后信贷增速超过8%