【编程题目 | 100分】非严格递增连续数字序列 [ 100 / 简单 ]
非严格递增连续数字序列
题目描述:
输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度(比如12234属于非严格递增连续数字序列)。
输入描述:
输入一个字符串仅包含大小写字母和数字,输入的字符串最大不超过255个字符。
输出描述:
最长的非严格递增连续数字序列的长度
示例1:
abc2234019A334bc
输出:4
题解/说明:2234为最长的非严格递增连续数字序列,所以长度为4
其他测试用例:
aaaaaa44ko543j123j7345677781 --> 34567778 --> 8
aaaaa34567778a44ko543j123j71 --> 34567778 --> 8
345678a44ko543j123j7134567778aa --> 134567778 --> 9
JAVA代码实现:100%
import java.util.Scanner;
public class 非严格递增连续数字序列 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str = in.nextLine();
int maxLen = 0; // 定义一个最大长度
int res = 0; // 结果,和maxLen比较取最大,最后输出即是答案
for (int i = 0; i < str.length(); i++) {
maxLen = 1;
while (i < str.length() && str.charAt(i)>='0' && str.charAt(i)<='9'){
if (i >= 1 && str.charAt(i) >= str.charAt(i-1)) {
maxLen++;
}else{
maxLen = 1;
}
res = Math.max(res, maxLen);
i++;
}
}
System.out.println(res);
}
}