通过下标和该值相结合的方式来查找这个值。
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
for(int i = 0;i<nums.size();)
{
if(nums[i]>0 && nums[i] <= nums.size() && nums[i] != nums[nums[i]-1])
{
int index = nums[i];
nums[i] = nums[index-1];
nums[index-1] = index;
}
else
{
i++;
}
}
for(int i = 0;i<nums.size();++i)
{
if(nums[i] != i+1)
{
return i+1;
}
}
return nums.size()+1;
}
};