Given an unsorted integer array, find the smallest missing positive integer.
Example 1:
Input: [1,2,0] Output: 3
Example 2:
Input: [3,4,-1,1] Output: 2
Example 3:
Input: [7,8,9,11,12] Output: 1
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
set<int> s;
int i;
for(i=0;i<nums.size();i++)
s.insert(nums[i]);
for( i=1;i<nums.size()+1;i++)
{
int t=s.size();
s.insert(i);
if(s.size()!=t) break;
}
return i;
}
};