java实战字符串4:寻找最长的元音子串的长度

题目描述

定义:当一个字符串只有元音字母(aeiouAEIOU)组成,称为元音字符串。
现给定一个字符串,请找出其中最长的元音字符子串,并返回其长度;如果找不到,则返回0。

子串:字符串中任意个连续的字符组成的子序列称为该字符串的子串。

解答要求时间限制:1000ms, 内存限制:256MB 输入

一个字符串,其长度范围: 0 < length <= 65535。

字符串仅由字符a-zA-Z组成。

输出

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

样例

输入

asdbuiodevauufgh

输出

3

 public static void main(String[] args) {
        Scanner cin = new Scanner(System.in, StandardCharsets.UTF_8.name());
        String input = cin.nextLine();
        cin.close();

        System.out.println(getLongestVowelStringLength(input));
    }

    // 待实现函数,在此函数中填入答题代码
    private static int getLongestVowelStringLength(String input) {
        String str = "aeiouAEIOU";
        Stack<Character> sta = new Stack<>();
        int size = sta.size();
        for (int i = 0; i < input.length(); i++) {
            char cha = input.charAt(i);
            if (str.contains("" + cha)) {
                sta.push(cha);
            } else {
                size = Math.max(size, sta.size());
                sta.clear();
            }
        }
        return Math.max(size, sta.size());
    }

  

上一篇:ACM模式(python)


下一篇:python猜拳小游戏