Given an array of size n, find the majority element. The majority element is the element that appears more than ⌊ n/2 ⌋
times.
You may assume that the array is non-empty and the majority element always exist in the array.
给定一个大小为n的数组,找出其中的大多数元素。大多数元素是出现次数超过⌊ n/2 ⌋次的。
你可以认为数组不为空并且大多数元素肯定存在。
这题大多数元素超过一半就很简单的,只要快排一次中间那个肯定是大多数元素,所以代码如下:
class Solution {
public:
int majorityElement(vector<int> &num) {
int n = num.size();
sort(num.begin(),num.end());
return num[n/2];
}
};