-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.js
More file actions
34 lines (25 loc) · 752 Bytes
/
index.js
File metadata and controls
34 lines (25 loc) · 752 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
27
28
29
30
31
32
33
34
// Given a non - empty array of integers, every element appears three times except for one, which appears exactly once.Find that single one.
// Note:
// Your algorithm should have a linear runtime complexity.Could you implement it without using extra memory ?
// Example 1:
// Input: [2, 2, 3, 2]
// Output: 3
// Example 2:
// Input: [0, 1, 0, 1, 0, 1, 99]
// Output: 99
// Solution
const singleNumber = (nums) => {
const countedNums = {};
nums.forEach(element => {
if (countedNums[element]) {
countedNums[element] += 1
} else {
countedNums[element] = 1
}
});
for (let key in countedNums) {
if (countedNums[key] === 1) {
return key
}
}
};