题目描述
输入 n 个正整数,要求输出最长的连号的长度。
连号指从小到大连续自然数。
输入格式
第一行,一个整数 n。
第二行,n 个整数 a_i ,之间用空格隔开。
输出格式
一个数,最长连号的个数。
输入输出样例
输入
10
3 5 6 2 3 4 5 6 8 9
输出
5
说明/提示
数据规模与约定
对于 100%100% 的数据,保证 1≤n≤10^41≤ai≤10 ^9
。
题解:
import java.util.Scanner;
public class P1420最长连号 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int a[]=new int[n];
int sum=0,ans=0;
a[0]=in.nextInt(); //单独读第一个,方便下面遍历
for (int i=1;i<n;i++) {
a[i]=in.nextInt();
if (a[i]-a[i-1]==1) {
sum++;
ans=Math.max(ans, sum); //记下最大
}
else { //不连续跳过
sum=0;
continue;
}
}
System.out.println(ans+1); //因为最后一个数被跳过所以加1,而且如果只有一个连续的数,也可以成立
}
}