169. Majority Element
Total Accepted: 97734
Total Submissions: 242819
Difficulty: Easy
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.
class Solution {
public:
int majorityElement(vector<int>& nums) {
if (nums.size() < 2)
return *nums.begin();
size_t len = nums.size() / 2, k = 0;
sort(nums.begin(), nums.end());
for (vector<int>::iterator i = nums.begin(); i != nums.end(); ++i)
{
if (*i == *(i - 1))
++k;
if (k >= len)
return *i;
}
return 0;
}
};