最长平台问题
#include<stdio.h>#define SIZE 1000
int maxLen(int[] , int);
main()
{
int a[SIZE];
int n, i;
printf("Please input the number of intergers:");
scanf("%d", &n); //输入N个数
printf("Please input the integers:");
for(i=0; i<=n-1; i++) //依次读取N个数
scanf("%d", &a[i]);
i=maxLen(a, n); //调用函数,求最长平台
printf("The longest level is:%d", i);
return 0;
}
int maxLen(int a[], int n)
{
int length=1;
int i;
for(i=0; i<=n-1; i++){
if(a[i]==a[i-length])
length++;
}
return length;
}
如果平台为 112111111
答案就错了。。
怎么办
一个从小到大排列的数组,这个数组中的一个平台就是连续的一段值相同的元素。例如:122333445中22,333等都是平台,333为最长平台。