找出n个数里出现次数大于等于n2的数

    xiaoxiao2022-07-07  155

    (牛客网)题目:数组中有一个数字出现次数大于等于数组长度一半,请找出这个数字。 大致思路:本题有一个很简单的方法,(前提,该数一定存在)如果那个数字的出现次数大于等于数组长度的一半,那么你把这个数组排序,中间的数就是我们要找的数。

    代码奉上:

    #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; }
    最新回复(0)