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

P3206. 最长的指定瑕疵度的元音子串

中等通过率 37% · 提交 1,657 · 通过 607
滑动窗口字符串双指针不定滑窗

小慕正在处理一批字符串数据,他定义了一个规则:如果一个字符串的开头和结尾都是元音字母(aeiouAEIOU),就称它为“”。其中,出现在字符串中间的非元音字母个数,就是它的“”。例如: - "a" 和 "aa" 都是元音字符串,瑕疵度为 0 - "aiur" 不是元音字符串(结尾不是元音字母) - "abira" 是元音字符串,瑕疵度为 2 现在,小慕拿到了一个字符串,他想知道:在给定一个目标瑕疵度的情况下,最长的符合条件的元音有多长。如果不存在这样的子串,则输出 0。 子串定义:字符串中任意连续字符组成的序列。

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

输入描述

<p> 首行输入是一个整数,表示预期的瑕疵度flaw,取值范围[0, 65535]。 </p> <p> 接下来一行是一个仅由字符a-z和A-Z组成的字符串,字符串长度(0, 65535]。 </p>

输出描述

输出为一个整数,代表满足条件的元音字符子串的长度。

示例

示例 1

输入

2
aeueo

输出

0

说明:没有满足条件的元音字符子串,输出 0

示例 2

输入

0
asdbuiodevauufgh

输出

3

说明:满足条件的最长元音字符子串有两个,分别为uio和auu,长度为 3。

示例 3

输入

1
aabeebuu

输出

5

说明:满足条件的最长元音字符子串有两个,分别为aabee和eebuu,长度为 5

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

看不懂题目?点开图解
最长指定瑕疵度元音子串示例 a a b e e b u u 子串1: aabee (瑕疵度=1) 子串2: eebuu (瑕疵度=1) 蓝色格子:元音字母;橙色格子:非元音字母 两个子串长度均为5,且瑕疵度=1,符合要求 (示例:flaw=1, 字符串"aabeebuu")
写完代码点「提交」,将对全部测试用例判题。

向老师提问

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