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 (you may modify the input array).
Example 1
Input:nums = [1,2,0]
Output:3
Explanation:The numbers 1 and 2 are present, so the answer is 3.
Example 2
Input:nums = [3,4,-1,1]
Output:2
Explanation:1 is present but 2 is missing.
Example 3
Input:nums = [7,8,9,11,12]
Output:1
Explanation:The smallest positive integer 1 is missing.