Majority Element[Easy]
Description
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.
Analysis
这个问题比较简单,主要是计算数组中数字出现的频率,我使用map来记录数字在数组中出现的次数,要注意本题要求次数大于 ⌊ n/2 ⌋ 次。
Solution
class Solution {
public:
int majorityElement(vector<int>& nums) {
map<int, int> record;
int l = nums.size()/2;
int val = 0;
for (auto iter = nums.begin(); iter != nums.end(); iter++) {
record[*iter]++;
if (record[*iter] > l ) {
val = *iter;
break;
}
}
return val;
}
};