「 每日一练,快乐水题 」961. 在长度 2N 的数组中找出重复 N 次的元素

「 每日一练,快乐水题 」961. 在长度 2N 的数组中找出重复 N 次的元素,第1张

文章目录
    • 🔴力扣原题:
    • 🟠题目简述:
    • 🟡解题思路:
    • 🟢C++代码:
    • 🔵结果展示:


🔴力扣原题:

961. 在长度 2N 的数组中找出重复 N 次的元素

🟠题目简述:

给你一个整数数组 nums ,该数组具有以下属性:

nums.length == 2 * n.
nums 包含 n + 1 个 不同的 元素
nums 中恰有一个元素重复 n 次
找出并返回重复了 n 次的那个元素。

🟡解题思路:
  1. 哈希大法好;
  2. 利用unordered_map来计数;
  3. 遍历unordered_map输出次数为n/2的数字即可;
  4. over;
🟢C++代码:
class Solution {
public:
    int repeatedNTimes(vector<int>& nums) {
        int n = nums.size();
        unordered_map<int, int> umap;
        for(auto num : nums)
        {
            ++umap[num];
        }

        for(auto it = umap.begin(); it != umap.end(); it++)
        {
            if(n/2 == it->second)
            {
                return it->first;
            }
        }

        return -1;
    }
};
🔵结果展示:

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

原文地址: http://outofmemory.cn/langs/1295659.html

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

发表评论

登录后才能评论

评论列表(0条)

保存