题目链接:bzoj 2456: mode
卡了内存,让你求众数。
我服,加个就MLE。
思路:只有一个数合法,我们就维护一个计数。碰到自己就累加,反之去掉,为负数时说明不合法更新,最后的结果就一定是答案。
AC 代码:
#include <cstdio>
using namespace std;
int main()
{
int n; scanf("%d", &n);
int ans; int cnt = 0;
while(n--) {
int a; scanf("%d", &a);
if(a == ans) cnt++;
else {
cnt--;
if(cnt < 0) {
cnt = 1;
ans = a;
}
}
}
printf("%d\n", ans);
return 0;
}