外观
最长元音回文字串
约 448 字大约 1 分钟
2024-10-13
🌳 题目描述:
小羊有一个长度为 n 的字符串 s,字符串仅包含小写英文字符。 定义元音字母为a,e,i,o,u,其他字母为辅音字母。 请你在 s 中找到一个最长的元音回文子串,只需要输出其长度。子串是指从原字符串中,选择一段连续的字符组成的新字符串。 一个长度为 m 的元音回文串 t 是指,对于任意 i∈[1,m] 如果 t 是元音,则需满足;如果是辅音,那么没有额外限制。
输入描述
第一行输入一个整数 n ( 1 ≤ n ≤ 105),代表字符串的长度。 第二行输入一个长度为 n 且仅由小写英文字母组成的字符串 s
输出描述
在一行上输出一个整数,代表最长的元音回文串的长度。
样例1
输入
5
abaeb
输出
3
说明
对于区间 [1,3],s1 和 s3 位置对称,并且字符相等,符合题意。 对于区间[1,4],s2 和 s3 位置对称,至少有一个元音,但是字符不相等,不符合题意。 对于区间[2,5],s3 和 s4 位置对称,至少有一个元音,但是字符不相等,不符合题意。
样例2
输入
6
cccccc
输出
6
说明
元音回文串可以只包含辅音,此时没有任何限制。
🕵🏽 面试评估:
这道题为最长回文子串的变种,主要考察中心扩展法和 Manacher 算法。
🧗难度系数:
⭐️ ⭐️ ⭐️ ⭐️