数据是
in. 1 1 两个一
out. 1
试了一下你的代码,输出是0,大概是因为少了个特判,全部一样的情况
_(我也很菜)_
by qiaoa @ 2020-10-31 09:27:26
```c
#include<algorithm>
#include<iostream>
using namespace std;
int a,b,n,k,ans=1,t;
bool f;//加个判断是不是一直一样,false就是一样,true反之
int main()
{
cin>>n;
cin>>b;
k=1;
ans=b;
for(int i=2;i<=n;i++)
{
cin>>a;
if(a==b)
{
k++;
}
else
{
f=true;//如果有不一样的,就是true
if(k>t)
{
t=k;
ans=b;
}
k=1;
}
b=a;
}
if(f==false) ans=b;//如果一样就是第一个数字
else if(k>t) ans=a;//防止改变ans的值
cout<<ans;
return 0;
}
```
这样就可以了
by qiaoa @ 2020-10-31 09:36:09
其实我觉得可能可以用桶排(不过我没有打过这题),但是数组有可能爆
by qiaoa @ 2020-10-31 09:40:28
@[yinhanjoy](/user/298489) 谢谢大佬
by Meteorshower_Y @ 2020-10-31 20:03:37