给定一个长度为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;
int max = 0, xh = 1;
int arr[1000] = { 0 };
scanf("%d", &n);
for (i = 0; i < n; i++)
scanf("%d", &arr[i]);
for (i = 0; i <= n - 2; i++)
{
if (arr[i] == arr[i + 1])
{
while (arr[i] == arr[i + 1])
{
xh++;
i++;
}
}
if (xh > max)
{
max = xh;
xh = 1;
}
else
xh = 1;
}
printf("%d", max);
return 0;
}