【LeetCode】在长度 2N 的数组中找出重复 N 次的元素 Java 题解
题目描述
给你一个整数数组 nums ,该数组具有以下属性:
nums.length == 2 * n.nums 包含 n + 1 个 不同的 元素 nums 中恰有一个元素重复 n 次找出并返回重复了 n 次的那个元素。
复制代码
思路分析
今天的算法题目是数组处理题目,需要找到数组中重复出现的元素个数。我们首先可以使用 hashmap 遍历整个数组,记录每一个元素出现的个数,找到出现个数大于 1 的个数,即位答案。
由于是数组题目,我们可以参考数值的取数范围 0 <= nums[i] <= 10000,定义一个 cnt 数组,记录元素出现的个数。具体实现代码如下:
通过代码
复制代码
总结
上述算法的时间复杂度是 O(n), 空间复杂度是 O(n)
坚持算法每日一题,加油!
版权声明: 本文为 InfoQ 作者【HQ数字卡】的原创文章。
原文链接:【http://xie.infoq.cn/article/e94c309fd869c908e9e524198】。文章转载请联系作者。
评论