在一个数组 nums 中除一个数字只出现一次之外,其他数字都出现了三次。请找出那个只出现一次的数字。
示例 1:
输入:nums = [3,4,3,3] 输出:4 示例 2:
输入:nums = [9,1,7,9,7,9,7] 输出:1
限制:
1 <= nums.length <= 10000 1 <= nums[i] < 2^31
/**
* @param {number[]} nums
* @return {number}
*/
var singleNumber = function(nums) {
const map = new Map();
for(let num of nums) {
if(!map.has(num)) {
map.set(num, 2);
}
else {
const cnt = map.get(num);
map.set(num, cnt - 1);
}
}
for(const [k, v] of map.entries()) {
if(v !== 0) {
return k;
}
}
};