给定一个长度为n的整数数组,数组中连续的相等元素构成的子序列称为平台。试设计算法,求出数组中最长平台的长度。
输入格式:
共2行,第一行为一个整数n(0<n<=1000),代表输入整数个数,第二行为n个用空格分隔的整数。测试用例保证所有整数可以用int存储。
输出格式:
只有一行,为一个整数,代表输入数组的最长平台长度。
输入样例:
15
1 1 2 2 4 5 7 7 7 7 7 7 3 3 9
输出样例:
6
代码实现:
#include <stdio.h>
int main()
{
int n,i,j=0,cnt=1;
scanf("%d",&n);
int array[n];
int plat[n];
for(i=0;i<n;i++)
{
scanf("%d",&array[i]);
if(i>0&&array[i]==array[i-1])
cnt++;
else
{
plat[j]=cnt;
j++;
cnt=1;
}
}
for(i=0;i<j;i++)
{
if(cnt<plat[i])
cnt=plat[i];
}
printf("%d\n",cnt);
return 0;
}