zentan66 / daily-coding

日常手写算法,编程题
0 stars 0 forks source link

LeetCode-找到所有数组中消失的数字 #24

Open zentan66 opened 3 years ago

zentan66 commented 3 years ago

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果

zentan66 commented 3 years ago

编码

var findDisappearedNumbers = function (nums) {
  const indexMap = new Array(nums.length).fill(-1)
  for (let i = 0, len = nums.length; i < len; i++) {
    indexMap[nums[i] - 1] = 1
  }
  return indexMap.reduce((pre, cur, idx) => {
    cur === -1 && pre.push(idx + 1)
    return pre
  }, [])
}