华为机试【9、最长元音子串的长度】

9、标题:最长元音子串的长度
【最长元音子串的长度】定义:当一个字符串只有元音字母(aeiouAEIOU)组成,称为元音字符串。现给定一个字 符串,请找出其中最长的元音字符串,并返回其长度;
如果找不到,则返回 0。子串:字符串中任意一个连续的字符组成的子序列称为该字符串的子串。
输入描述:
一个字符串,其长度范围:0<length<65535。
字符串仅由字母a-z和A-Z组成。
输出描述:
一个整数,表示最长的元音字符串的长度。
示例:
输入
asdbuiodevauufgh
输出
3

def max_aeiou(s):
    result = ''
    for i in range(len(s)-1):
        if s[i] not in 'aeiouAEIOU':
            continue
        for j in range(i+1, len(s)):
            if s[j] in 'aeiouAEIOU':
                if len(s[i:j + 1]) > len(result):
                    result = s[i:j+1]
            else:
                break
    return result


print(max_aeiou("asdbuiodevauufgh"))
全部评论
感觉用while 比较好
点赞 回复
分享
发布于 2022-04-04 23:12
不考虑1个元音字母的情况么
点赞 回复
分享
发布于 2022-04-05 00:11
百信银行
校招火热招聘中
官网直投

相关推荐

点赞 2 评论
分享
牛客网
牛客企业服务