[41] 缺失的第一个正数

/**
 * @param {number[]} nums
 * @return {number}
 */
var firstMissingPositive = function (nums) {
  const ll = nums.length
  for (let i = 0; i < ll; i++) {

    while (nums[i] > 0 && nums[i] <= ll && nums[i] !== nums[nums[i] - 1]) {
      let temp = nums[i]
      nums[i] = nums[temp - 1]
      nums[temp - 1] = temp
    };

  }
  //找到第一个无法对应的数字,就是第一个缺失的数字
  for (let i = 0; i < ll; i++) {
    if (nums[i] !== i + 1) {
      return i + 1;
    }
  }
  return ll + 1
};

 

posted @ 2023-11-30 13:52  人恒过  阅读(15)  评论(0)    收藏  举报