分析
- 使用哈希表统计每个元素出现的次数,判断是否超过半数即可。
代码
#include <iostream>
#include <unordered_map>
using namespace std;
int n, m;
int main() {
scanf("%d%d", &n, &m);
unordered_map<int, int> hash; // (数据, 出现次数)
for (int i = 0; i < n * m; i++) {
int x;
scanf("%d", &x);
if (++hash[x] * 2 > n * m) {
printf("%d\n", x);
return 0;
}
}
return 0;
}