您的位置:首页 > 其它

算法第二周Majority Element[easy]

2017-09-17 19:25 169 查看

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;
}
};
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: