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());
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM