【快乐水题】229. 求众数 II

【快乐水题】229. 求众数 II,第1张

【快乐水题】229. 求众数 II 原题:

力扣链接:229. 求众数 II

题目简述:

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

解题思路

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

C++代码:
class Solution {
public:
    vector majorityElement(vector& nums) {
        vector vec;

        int i = 0;
        int num = nums.size();
        unordered_map 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;
    }
};
力扣结果展示:

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5096982.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-16
下一篇2022-11-16

发表评论

登录后才能评论

评论列表(0条)

    保存