41. First Missing Positive
2017-12-17 10:25
246 查看
1、题目描述
给一个有n个元素的乱序的数组,找到第一个缺失的正整数。
2、思路
把每一个元素放到它对应的位置上去,比如nums[i]应该放在nums[nums[i] -1]这个位置。
如果nums[i] <=0就不管它啦。
最后,找出第一个nums[i] != i+1的位置,即为答案。
不存在的话就返回n+1.
3、代码
给一个有n个元素的乱序的数组,找到第一个缺失的正整数。
2、思路
把每一个元素放到它对应的位置上去,比如nums[i]应该放在nums[nums[i] -1]这个位置。
如果nums[i] <=0就不管它啦。
最后,找出第一个nums[i] != i+1的位置,即为答案。
不存在的话就返回n+1.
3、代码
int firstMissingPositive(vector<int>& nums) { int n = nums.size(); for(int i=0;i<n;i++){ while(nums[i]<=n&&nums[i]>=1 && nums[nums[i]-1]!=nums[i]){ swap(nums[i],nums[nums[i]-1]); } } for(int i=0;i<n;i++){ if(nums[i]!=i+1) return i+1; } return n+1; }
相关文章推荐
- Leetcode (41) First Missing Positive
- leetcode41_First Missing Positive
- 41. First Missing Positive
- leetcode-41 First Missing Positive
- LeetCode 41:First Missing Positive
- [Leetcode] 41 - First Missing Positive
- leetcode[41]First Missing Positive
- [leetcode] #41 First Missing Positive
- LeetCode 41 First Missing Positive
- leetcode hard模式专杀之41 First Missing Positive
- [Leetcode] #41 First Missing Positive
- 41. First Missing Positive
- 41-h-firstMissingPositive
- 41. First Missing Positive
- leetCode (41)--First Missing Positive
- Java [Leetcode 41]First Missing Positive
- LeetCode 41 - First Missing Positive
- Leet Code 41 First Missing Positive - Java
- [Leetcode 96] 41 First Missing Positive
- 【LeetCode 41】 First Missing Positive