第2题 只出现一次的数字

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    示例 1:
    输入: [2,2,1]
    输出: 1
    示例 2:
    输入: [4,1,2,1,2]
    输出: 4
  • 遍历数组,由于需要返回值,这里使用map方法
  • 使用过滤函数,过滤数组中值与当前遍历的元素的值相同的元素
  • 现在得到了一个存在多个集合的数组,而数组中唯一值的那个元素的集合肯定值存在它自己
  • 查询这个集合中长度只有1的集合,再取这个集合的第一个元素,即是只出现一次的数字
    const singleNumber = (nums) => {
      const numsGroup = nums.map(num => nums.filter(v => v === num));
      return numsGroup.find(num => num.length === 1)[0];
    };
Last Updated:
Contributors: leeguooooo