# 41-first-missing-positive Try it on leetcode ## 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 constant extra space.

 

Example 1:

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

Example 2:

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

Example 3:

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

 

Constraints:

## Solution(Python) ```Python class Solution: def firstMissingPositive(self, nums: List[int]) -> int: for i in range(len(nums)): while 0 <= nums[i]-1 < len(nums) and nums[nums[i]-1] != nums[i]: tmp = nums[i]-1 nums[i], nums[tmp] = nums[tmp], nums[i] for i in range(len(nums)): if nums[i] != i+1: return i+1 return len(nums)+1 ```