leetcode 算法题961 (简单252) 重复 N 次的元素
- 题目介绍
在大小为 2N 的数组 A 中有 N+1 个不同的元素,
其中有一个元素重复了 N 次。
返回重复了 N 次的那个元素。
- 示例
输入:[1,2,3,3]
输出:3
输入:[2,1,2,5,3,2]
输出:2
输入:[5,1,5,2,5,3,5,4]
输出:5
- 提示
- 4 <= A.length <= 10000
- 0 <= A[i] < 10000
- A.length 为偶数
- 解法一
/**
* @param {number[]} A
* @return {number}
*/
var repeatedNTimes = function(A) {
let map = {}, i = 0;
while(i < A.length) {
if(map[A[i]]) {
return A[i];
} else {
map[A[i++]] = 1;
}
}
};
执行用时 : 76 ms, 在所有 JavaScript 提交中击败了91.32%的用户
内存消耗 : 36.3 MB, 在所有 JavaScript 提交中击败了66.05%的用户
- 解法二
/**
* @param {number[]} A
* @return {number}
*/
var repeatedNTimes = function(A) {
let set = new Set(), i = 0;
while(i < A.length) {
if(set.has(A[i])) {
return A[i];
}
set.add(A[i++]);
}
};
执行用时 : 76 ms, 在所有 JavaScript 提交中击败了91.32%的用户
内存消耗 : 36.1 MB, 在所有 JavaScript 提交中击败了80.86%的用户