AlgoMooc
你已开通华为OD训练营权益,还差最后一步——完成入营激活(兑换课程 + 加飞书 + 登记服务群),即可解锁全部课程与专属服务。去激活 →
← 返回题库

P3002. 最长的元音字符串

简单通过率 81% · 提交 577 · 通过 468
双指针字符串模拟

小慕正在处理一个文本分析任务,他需要从给定的字符串中找出最长的「纯元音」。如果一个子串只由(a, e, i, o, u, A, E, I, O, U)组成,就称为元音子串。请帮小慕找出最长的元音子串的长度,如果不存在这样的子串,则返回0。 字符串中任意一个连续字符组成的子序列称为该字符串的子串。

提示:带虚线的词点一下有通俗解释。

输入描述

一个字符串s。字符串长度满足0 < len(s) < 10^5,字符串仅由字符a-z或A-Z组成

输出描述

一个整数,表示最长的元音字符子串的长度。

示例

示例 1

输入

asdbuiodevauufgh

输出

3

时间限制 1000 ms · 内存限制 128 MB

看不懂题目?点开图解
最长元音子串示例 输入: asdbuiodevauufgh a s d b u i o d e v a u u f g h 最长元音子串 (长度3) 双指针滑动过程: 左指针 left 指向子串开头,右指针 right 向右移动。 当遇到非元音时,left 跳到 right+1,重新开始计数。 记录所有元音子串的最大长度,即为答案。
写完代码点「提交」,将对全部测试用例判题。

向老师提问

针对「最长的元音字符串」把疑问、代码和报错填清楚,老师收到后能更快、更准地回复你。