算法第二周Majority Element[easy]

来源:互联网 发布:淘宝茶叶店标图片 编辑:程序博客网 时间:2024/06/07 17:34

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;    }};

原创粉丝点击