日拱一卒(17)——leetcode学习记录:定长字符串中元音字符的数量

一、题目

给你字符串 s 和整数 k

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

英文中的 元音字母 为(a, e, i, o, u)。

示例 1:

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

二、思路

统计前k个字符中元音的数量,然后往后滑动,增加的一个新的,剔除的前面的旧的,判断是否是元音,进行数量更新。时间复杂度与s的长度成正比。

三、题解

class Solution:

def maxVowels(self, s: str, k: int) -> int:

vowel = {'a','e','i','o','u'}

count = 0

for item in s[:k]:

if item in vowel:

count += 1

maxcount = count

for num in range(k,len(s)):

if s[num] in vowel:

count += 1

if s[num-k] in vowel:

count -= 1

maxcount = max(count,maxcount)

return maxcount

相关推荐
丑小鸭是白天鹅35 分钟前
嵌入式C语言学习笔记之枚举、联合体
c语言·笔记·学习
楼田莉子2 小时前
C++算法题目分享:二叉搜索树相关的习题
数据结构·c++·学习·算法·leetcode·面试
奶黄小甜包3 小时前
C语言零基础第18讲:自定义类型—结构体
c语言·数据结构·笔记·学习
rannn_1115 小时前
【MySQL学习|黑马笔记|Day7】触发器和锁(全局锁、表级锁、行级锁、)
笔记·后端·学习·mysql
喜欢吃燃面6 小时前
C++算法竞赛:位运算
开发语言·c++·学习·算法
传奇开心果编程6 小时前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
_Kayo_12 小时前
node.js 学习笔记3 HTTP
笔记·学习
CCCC131016315 小时前
嵌入式学习(day 28)线程
jvm·学习
星星火柴93616 小时前
关于“双指针法“的总结
数据结构·c++·笔记·学习·算法
小狗爱吃黄桃罐头16 小时前
正点原子【第四期】Linux之驱动开发篇学习笔记-1.1 Linux驱动开发与裸机开发的区别
linux·驱动开发·学习