数组中只出现一次的数

题目

一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

思路

使用map记录下每个数的次数,占空间。

代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

function FindNumsAppearOnce(array) {
const map = {},
res = [];
for (let i = 0; i < array.length; i++) {
if (!map[array[i]]) {
map[array[i]] = 1;
} else {
map[array[i]]++;
}
}
for (let i = 0; i < array.length; i++) {
if (map[array[i]] === 1) {
res.push(array[i]);
}
}
return res;
}