41. First Missing Positive
2017-01-06 13:18
274 查看
Given an unsorted integer array, find the first missing positive integer.
For example,
Given
and
Your algorithm should run in O(n) time and uses constant space.
算法:将nums[i] 放置到正确的位置
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
int n = nums.size();
for(int i = 0; i < n; i++)
while(nums[i] > 0 && nums[i] <= n && nums[nums[i] - 1] != nums[i])
swap(nums[nums[i] - 1] , nums[i]);
for(int i = 0; i < n; i++)
if(nums[i] != i + 1) return i + 1;
return n + 1;
}
};
For example,
Given
[1,2,0]return
3,
and
[3,4,-1,1]return
2.
Your algorithm should run in O(n) time and uses constant space.
算法:将nums[i] 放置到正确的位置
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
int n = nums.size();
for(int i = 0; i < n; i++)
while(nums[i] > 0 && nums[i] <= n && nums[nums[i] - 1] != nums[i])
swap(nums[nums[i] - 1] , nums[i]);
for(int i = 0; i < n; i++)
if(nums[i] != i + 1) return i + 1;
return n + 1;
}
};
相关文章推荐
- LeetCode41——First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- [Leetcode] 41 - First Missing Positive
- leetcode[41]First Missing Positive
- [leetcode] #41 First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- [Leetcode 41] First Missing Positive
- FTPrep, 41 First Missing Positive
- 41. First Missing Positive
- 41. First Missing Positive
- leetcode 41 First Missing Positive
- 41. First Missing Positive
- 41-h-firstMissingPositive
- 41. First Missing Positive
- 41. First Missing Positive
- LeetCode-41-First Missing Positive 递归水题
- [Leetcode 96] 41 First Missing Positive