First Missing Positive

IF
AlgoAxiomStaff Engineers
JSTS
Hard20 mins

Given an unsorted integer array nums, return the smallest missing positive integer.

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 integers in range [1, 2] are all present, so the smallest missing positive is 3.

Example 2:

Input: nums = [3, 4, -1, 1]

Output: 2

Explanation: 1 and 3, 4 are present 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
Source: Cyclic Sort pattern — AlgoAxiom
JavaScript
Test Case 1
root = [1, 2, 3]
Test Case 2
root = [1, 2, 3, 4, 5]
Idle