题目链接:
题目有点坑,仔细看题
AC代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int n,f,x,flag;
scanf("%d",&n);
flag=f=0;
for(int i=1; i<=n; i++)
{
scanf("%d",&x);
if(x==f)//判断是否相等,计数
flag++;
else if(flag==0)
{
f=x;//存放第一个数字
flag=1;
}
else
flag--;//不相等时减减
}
printf("%d\n",f);
return 0;
}
坑点:输入多组数据,一般我们会想到用数组,然后进行sort排序
坑点一:题中数据过大(1e9)超过long long,int型果断不行
坑点二:时间限制1MB(1s)
关键点:众数个数大于n/2;