这题思路比较简单,易错的点是n能取到小于1的数,而n<=0时不用输出,这一点不知道的话容易把问题想复杂。
还有几点关于本题:
1,没有特判n<=0这种情况,其它都对的能得80分,没过6,7组测试。
2,这题数据没有超int,int也可以过,但用long long 会0ms过。
3,这题有人用字符串存数据,过了,但不是因为它给的数据过大,而是因为,n<=0时这种代码输不出东西来,恰好满足题意过了。
以上仅供参考,如果有错误,欢迎评论。
#include<stdio.h>
#define INF 0x3f3f3f3f
int a[30];
int main()
{
int n,sum=0,maxx=0;
int ans=0;
scanf("%d",&n);
if(n<=0) return 0;//坑了许多人吧,n<=0时不输出
a[0]=-INF;
int i;
for(i=1;i<=n;++i)
{
scanf("%d",a+i);
if(a[i]!=a[i-1])
{
if(sum>maxx)
{
maxx=sum;
ans=a[i-1];
}
sum=1;
}
else
++sum;
}
if(sum>maxx)
{
maxx=sum;
ans=a[i-1];
}
printf("%d\n",ans);
return 0;
}