First Missing Positive LeetCode solution in JavaScript

1
/**
2
* @param {number[]} nums
3
* @return {number}
4
*/
5
var firstMissingPositive = function (nums) {
6
//first make all negative numbers to zero =>zero means we ignore whis number
7
for (let index = 0; index < nums.length; index++) {
8
if (nums[index] < 0) nums[index] = 0;
9
}
10

11
for (let index = 0; index < nums.length; index++) {
12
const temp = Math.abs(nums[index]);
13
const element = temp - 1;
14

15
if (element < nums.length && element >= 0)
16
nums[element] =
17
nums[element] === 0 ? -(nums.length + 1) : Math.abs(nums[element]) * -1;
18
}
19

20
for (let index = 0; index < nums.length; index++) {
21
const element = nums[index];
22
if (element >= 0) return index + 1;
23
}
24
return nums.length + 1;
25
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0