只出现一次的数字

题目

剑指 Offer II 004. 只出现一次的数字

给你一个整数数组 nums ,除某个元素仅出现 一次 外,其余每个元素都恰出现 三次 。请你找出并返回那个只出现了一次的元素。

思路

代码

1. 哈希表

/**
 * @param {number[]} nums
 * @return {number}
 */
var singleNumber = function (nums) {
  const map = {};
  for (let i = 0; i < nums.length; i++) {
    let value = nums[i];
    map[value] = map[value] === undefined ? 1 : ++map[value];
  }

  for (const key in map) {
    if (map[key] === 1) {
      return key;
    }
  }
};