美文网首页
Leetcode169. 求众数

Leetcode169. 求众数

作者: LonnieQ | 来源:发表于2019-11-16 14:45 被阅读0次

    题目

    给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。

    你可以假设数组是非空的,并且给定的数组总是存在众数。

    示例 1:

    输入: [3,2,3]
    输出: 3
    

    示例 2:

    输入: [2,2,1,1,1,2,2]
    输出: 2
    

    C++解法

     class Solution {
    public:
        int majorityElement(vector<int>& nums) {
            map<int, int> counter;
            int maxSize = 0;
            for (auto & item: nums) {
                ++counter[item];
                if (counter[item] >= maxSize) {
                    maxSize = counter[item];
                    if (maxSize > (nums.size() / 2)) {
                        return item;
                    }
                }
            }
            return -1;
        }
    };
    

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/majority-element

    相关文章

      网友评论

          本文标题:Leetcode169. 求众数

          本文链接:https://www.haomeiwen.com/subject/jleyictx.html