20200904--最长平台(奥赛一本通 P86 15)
已知一个已经从小到大排序的数组,这个数组的一个平台(plateau)(停止状态)就是连续的一串值相同的元素,并且这一串元素不能再延伸。例如,在1,2,3,3,4,4,4,5,6中因为有连续3个3,平台最长。试编写一个程序,接收一个数组,把这个数组最长的平台找出来。
输入:第1行有一个整数n,代表元素个数
第2行输入元素明细
输出:最长平台那个元素的个数
样例输入:
10
1 2 2 3 3 4 4 4 5 6
样例输出:
3
#include <bits/stdc++.h>
using namespace std;
int n;//元素个数
int m[10000];//元素明细
int k=1;//记录每个平台长度
int max1=0;//记录最长平台长度
int main()
{
printf("请输入元素个数:");
cin>>n;
for(int i=1;i<=n;i++)
{cin>>m[i];
if(m[i]==m[i-1]){k++;}
else{k=1;}
if(k>max1){max1=k;}
}
cout<<"最长的平台的元素数:"<<max1<<endl;
}