题目链接:http://lx.lanqiao.cn/problem.page?gpid=T222
思路:
输入的一组整数是按照从大到小的顺序排列的,从第一个开始,将后面的与之比较,如果相同就count++,如果不同直接比对下一个数。(temp后移)
一开始一直在纠结要是不是按照从小到大的顺序排列,而是随机的要怎么写…
注意:输入数据n有范围,大于1小于20。
代码:
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
if(n<1||n>20)return 0;
int num[n];
for(int i=0;i<n;i++)
cin>>num[i];
int temp=num[0];
int maxnum=1,count=1,maxcount=1;
for(int i=1;i<n;i++)
{
if(temp==num[i])count++;
else {temp=num[i];count=1;}
if(count>maxcount)
{
maxcount=count;
maxnum=temp;
}
}
cout<<maxnum<<endl;
return 0;
}