# First Missing Positive

int firstMissingPositive(vector\<int>& nums) {

if(nums.empty()) return 1;

int i=0;

while(i\<nums.size()){

if(nums\[i]!=i+1&\&nums\[nums\[i]-1]!=nums\[i]&\&nums\[i]>0&\&nums\[i]-1\<nums.size()){

swap(nums\[nums\[i]-1],nums\[i]);

}

else

i++;

}

for(int j=0;j\<nums.size();j++){

if(nums\[j]!=j+1)

return j+1;

}

return nums.size()+1;

}
