Description

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

Input:nums = [1,2,0]
Output:3
Explanation:

1 and 2 are present, so 3 is the first missing positive.

Input:nums = [3,4,-1,1]
Output:2
Explanation:

1 is present but 2 is missing.

Input:nums = [7,8,9,11,12]
Output:1
Explanation:

1 is missing.

Constraints

  • 1 ≤ nums.length ≤ 10⁵
  • -2³¹ ≤ nums[i] ≤ 2³¹ - 1

Ready to solve this problem?

Practice solo or challenge other developers in a real-time coding battle!