日拱一卒(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

相关推荐
云上艺旅3 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得2053 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
A旧城以西4 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ4 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL000754 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法
吴梓穆5 小时前
UE5学习笔记 FPS游戏制作38 继承标准UI
笔记·学习·ue5
Three~stone5 小时前
MySQL学习集--DDL
数据库·sql·学习
齐尹秦5 小时前
HTML 音频(Audio)学习笔记
学习
瞌睡不来5 小时前
(学习总结32)Linux 基础 IO
linux·学习·io
Moonnnn.6 小时前
运算放大器(四)滤波电路(滤波器)
笔记·学习·硬件工程