(牛客网)题目:数组中有一个数字出现次数大于等于数组长度一半,请找出这个数字。 大致思路:本题有一个很简单的方法,(前提,该数一定存在)如果那个数字的出现次数大于等于数组长度的一半,那么你把这个数组排序,中间的数就是我们要找的数。
代码奉上:
#include
<iostream>
#include
<vector>
#include
<algorithm>
using namespace std
;
int main()
{
vector
<int> arr
;
int n
= 10000;
int num
= 0;
while (n
--)
{
cin
>> num
;
arr
.push_back(num
);
}
sort(arr
.begin(), arr
.end());
cout
<< arr
[arr
.size() / 2] << endl
;
return 0;
}
转载请注明原文地址: https://yun.8miu.com/read-28961.html