■ 题目描述
【非严格递增连续数字序列】
输入一个字符串仅包含大小写字母和数字,求字符串中包含的最长的非严格递增连续数字序列的长度,
(比如12234属于非严格递增连续数字序列)。
输入描述
输入一个字符串仅包含大小写字母和数字,输入的字符串最大不超过255个字符。
输出描述
最长的非严格递增连续数字序列的长度
示例1 输入输出示例仅供调试,后台判题数据一般不包含示例
输入
abc2234019A334bc
输出
4
说明
2234为最长的非严格递增连续数字序列,所以长度为4。
JAVA代码实现:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
while (in.hasNext()) {
String str = in.nextLine();
if (str.length()==1&&str.charAt(0)>='0'&&str.charAt(0)<='9'){
System.out.println(1);
continue;
}
boolean flag = false;
char[] c = str.toCharArray();
int size = str.length();
int max = 1;
int length = 1;
for (int i = 1; i < size ; i++) {
if ((c[i - 1] >= '0' && c[i - 1] <= '9') || (c[i] >= '0' && c[i] <= '9')) {
flag = true;
}
if (c[i-1] <= c[i]&&c[i-1]>='0'&&c[i]<='9') {
length++;
if (length > max) {
max = length;
}
continue;
} else {
length = 1;
}
}
if (flag) {
System.out.println(max);
} else {
System.out.println(0);
}
}
}
}