A22610. 最长平台
填空题
中等
知识点
题目描述
最长平台
题目描述
已知一个已经从小到大排序的数组,这个数组的一个平台(Plateau)就是连续的一串值相同的元素,并且这一串元素不能再延伸。
例如,在 1,2,2,3,3,3,4,5,5,6中1,2-2,3-3-3,4,5-5,6都是平台。
试编写一个程序,接收一个数组,把这个数组最长的平台找出来。在上面的例子中3-3-3就是最长的平台。
输入
第一行有一个整数n,为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。
输出
输出最长平台的长度。
输入样例
10
1 2 2 3 3 3 4 5 5 6输出样例
3参考答案
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, len = 0, maxLen = 0, lastNum = -1, num;//len:平台长度 maxLen:最大平台长度 lastNum:上一个数。
cin >> n;
for(int i = 0; i < n; ++i)
{
cin >> num;
if(num == lastNum)//如果这个数和上一个数相同
len++;
else//如果这个数和上一个数不同
{
if(len > maxLen)//求平台最大值
maxLen = len;
lastNum = num;
len = 1;
}
}
if(len > maxLen)
maxLen = len;
cout << maxLen;
return 0;
}
上一题
下一题