leetCode题解之First Missing Positive
Posted 山里的小勇子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetCode题解之First Missing Positive相关的知识,希望对你有一定的参考价值。
1、问题描述
2、题解思路
本题的思路是对于数组中每个正的元素,应该将其放到数组中对应的位置,比如元素1 ,应该放在数组的第一个位置。以此类推,最后检查数组中元素值和下标不匹配的情况。
3、代码
1 int firstMissingPositive(vector<int>& nums) { 2 if( nums.size() == 0) return 1; 3 4 for(int i = 0 ; i < nums.size() ; i++) 5 { 6 if( nums[i] > 0 && nums[i] < nums.size() && nums[i] != nums[ nums[i] - 1 ]) 7 { 8 swap( nums[i] , nums[ nums[i] - 1 ]); 9 i--; 10 } 11 12 } 13 for( int i = 0; i < nums.size() ; i++) 14 { 15 if( nums[i] != i+1 ) 16 return i+1; 17 } 18 19 return nums.size()+1 ; 20 21 }
以上是关于leetCode题解之First Missing Positive的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode First Missing Positive
Leetcode 41. First Missing Positive
leetcode-First Missing Positive