已知一个已经从小到大排序的数组,这个数组的一个平台(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 <= 1000),为数组元素的个数。第二行有n个整数,整数之间以一个空格分开。输出输出最长平台的长度。样例输入101 2 2 3 3 3 4 5 5 6样例输出3#include<iostream>#include <cstdio>#include<cstring>using namespace std;int main(){ int n; cin>>n; int a[1001]; for(int i=0;i<n;i++) cin>>a[i]; int max=1; for(int i=0;i<n;)//11234 { int fz=1; int sum=0; for(int j=i+1;a[i]==a[j]&&j<n;j++) fz++; if(fz>max) { max=fz; } i+=fz; } cout<<max; return 0;}
新闻热点
疑难解答