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

题目描述

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

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

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

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

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

输出

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

样例

输入

asdbuiodevauufgh

输出

3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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());
   }

  

posted @   Justin_Hu  阅读(752)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示