数组中出现最多的元素
发布时间: 2015年10月6日 10:35 时间限制: 1000ms 内存限制: 256M
给你一个数组,输出里面出现超过1/2的元素。保证有且只有一个解。
第一行是一个整数,表示测试数据的组数 n,n < 1000万 之后每一行都是一个整数。
输出出现超过1/2的那个数字。
这虽然是道简单题。算法O(n)各位都会。然而我想说。要是再有人说cin cout 不会影响各位超时错误。呵呵呵呵真是炸了!
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
long long k;
int a=0;
long long n,m;
cin>>n;
long long temp;
while(n--)
{
scanf("%lld",&k);
if(k!=temp)
{
a--;
if(a<0)
{
a=0;
temp=k;
}
}
else
a++;
}
cout<<temp<<endl;
return 0;
}