#include<stdio.h>
#define N 10000
int a[N];
int arr[N];
int judge(int a[N],int length)
{
int i,j,k,cnt;
cnt = 1;
k = 0;
for(i = 0;i < length;i ++)
{
j = a[i+1] - a[i];
if(j == 1)
{
cnt++;
}else{
arr[k++] = cnt;
cnt = 1;
}
}
return k;
}
int main()
{
int n,i,j,tmp,length;
scanf("%d",&n);
for(i = 0;i < n;i ++)
{
scanf("%d",a+i);
}
length = judge(a,n);
for(i = 0;i < length - 1;i ++)
{
for(j = 0;j < length - i - 1;j ++)
{
if(arr[j] < arr[j+1])
{
tmp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = tmp;
}
}
}
printf("%d",arr[0]);
return 0;
}
把a[100000] 改成 a[10000] 试试。 是1万,不是10万。
还有这两种情况 题目要求的最大都是1的输出吧?如果是1的话,应该没有啥问题
第一种 2 1
第二种 2