-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsingle-number-iii.js
More file actions
26 lines (20 loc) · 876 Bytes
/
single-number-iii.js
File metadata and controls
26 lines (20 loc) · 876 Bytes
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
//Given an array of numbers nums, in which exactly two elements appear only once and all the other elements appear exactly twice.
//Find the two elements that appear only once.
//For example:
//Given nums = [1, 2, 1, 3, 2, 5], return [3, 5].
//Note:
//The order of the result is not important. So in the above example, [5, 3] is also correct.
//Your algorithm should run in linear runtime complexity. Could you implement it using only constant space complexity?
console.log(singleNumber([1, 2, 1, 3, 2, 5]), 'Expected: [3,5]');
function singleNumber(nums) {
returnArray = [];
nums.forEach(function(number) {
let numberExistsCheck = returnArray.indexOf(number);
if (numberExistsCheck === -1) {
returnArray.push(number);
} else {
returnArray.splice(numberExistsCheck, 1);
}
});
return returnArray;
}