-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
51 lines (43 loc) · 1.07 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
// Title : find-all-duplicates-in-an-array
// Date : 2017-03-17
// Author : Daguo
/*****************************************
Given an array of integers, 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.
Find all the elements that appear twice in this array.
Could you do it without extra space and in O(n) runtime?
Example:
Input:
[4,3,2,7,8,2,3,1]
Output:
[2,3]
*****************************************/
/**
* @param {number[]} nums
* @return {number[]}
*/
var findDuplicates = function(nums) {
var arr = [];
var ans = [];
for(let i=0; i<nums.length; i++){
if(arr.indexOf(nums[i]) === -1)
arr.push(nums[i]);
else
ans.push(nums[i]);
}
return ans;
};
//同448 性能问题
//
var findDuplicates2 = function(arr) {
// let arr = nums.sort();
let obj = {};
let ans = [];
for(let i=0; i<arr.length; i++){
if(obj[arr[i]])
ans.push(arr[i]);
else
obj[arr[i]] = true;
}
return ans;
};
module.exports = [findDuplicates,findDuplicates2];