Facebook Pixel

First Missing Positive

JavaScript
hard
30 mins

Given an unsorted integer array nums, return the smallest positive integer that is not present in nums. You must implement an algorithm that runs in O(n) time and uses O(1) auxiliary space.

Examples

Example 1:

Input: nums = [1,2,0] Output: 3 Explanation: The numbers in the range [1,2] are all in the array.

Example 2:

Input: nums = [3,4,-1,1] Output: 2 Explanation: 1 is in the array but 2 is missing.

Example 3:

Input: nums = [7,8,9,11,12] Output: 1 Explanation: The smallest positive integer 1 is missing.

Constraints:

1 <= nums.length <= 10^5 -2^31 <= nums[i] <= 2^31 - 1

Function Signature:

function firstMissingPositive(nums) { // Your code here }

Test Cases:

  • Base cases: nums = [1] → 2, nums = [2] → 1, nums = [0] → 1
  • Simple cases: nums = [1,2,0] → 3, nums = [3,4,-1,1] → 2
  • Edge cases: nums = [1,2,3,4] → 5, nums = [7,8,9,11,12] → 1
  • Complex cases: nums = [1,1,2,2,3,3] → 4, nums = [-1,-2,-3] → 1
  • Mixed cases: nums = [0,1,2,3,5,6] → 4, nums = [1,2,3,5,6,7] → 4

Notes:

  • Base cases: nums = [1] → 2, nums = [2] → 1, nums = [0] → 1
  • Simple cases: nums = [1,2,0] → 3, nums = [3,4,-1,1] → 2
  • Edge cases: nums = [1,2,3,4] → 5, nums = [7,8,9,11,12] → 1
  • Complex cases: nums = [1,1,2,2,3,3] → 4, nums = [-1,-2,-3] → 1
  • Mixed cases: nums = [0,1,2,3,5,6] → 4, nums = [1,2,3,5,6,7] → 4

Companies:

google
adobe

Solve Similar questions 🔥

Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.
Please Login.