快乐水题229. 求众数 II

Posted 谁吃薄荷糖

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快乐水题229. 求众数 II相关的知识,希望对你有一定的参考价值。

原题:

力扣链接:229. 求众数 II

题目简述:

给定一个大小为 n 的整数数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。

解题思路

1.通过哈希表来计算出现次数
2.if(k == (num/3 + 1))这个判据比较关键,需要多验证几个测试集
3.over

C++代码:

class Solution {
public:
    vector<int> majorityElement(vector<int>& nums) {
        vector<int> vec;

        int i = 0;
        int num = nums.size();
        unordered_map<int,int> map;
        
        for(i = 0; i < num; i++)
        {
            int k = ++map[nums[i]];

            cout << "nums[]:" << nums[i]  << "    " << "k:"<<  k << endl;

            if(k == (num/3 + 1))
            {
                vec.push_back(nums[i]);
            }
        }

        return vec;
    }
};

力扣结果展示:

以上是关于快乐水题229. 求众数 II的主要内容,如果未能解决你的问题,请参考以下文章

Leetcode 229.求众数II

229. 求众数 II

229 Majority Element II 求众数 II

229. 求众数 II摩尔投票法的扩展

LeetCode 229 求众数 II[Map] HERODING的LeetCode之路

229. 求众数 II-摩尔投票法