leetCode题解之First Missing Positive

时间:2023-03-09 03:46:59
leetCode题解之First Missing Positive

1、问题描述

leetCode题解之First Missing Positive

2、题解思路

本题的思路是对于数组中每个正的元素,应该将其放到数组中对应的位置,比如元素1 ,应该放在数组的第一个位置。以此类推,最后检查数组中元素值和下标不匹配的情况。

3、代码

 int firstMissingPositive(vector<int>& nums) {
if( nums.size() == ) return ; for(int i = ; i < nums.size() ; i++)
{
if( nums[i] > && nums[i] < nums.size() && nums[i] != nums[ nums[i] - ])
{
swap( nums[i] , nums[ nums[i] - ]);
i--;
} }
for( int i = ; i < nums.size() ; i++)
{
if( nums[i] != i+ )
return i+;
} return nums.size()+ ; }