leetcode-First Missing Positive
2017-06-11 12:38
411 查看
https://leetcode.com/problems/first-missing-positive/#/description
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.
题解:这道题目比较简单,需要注意的是几个陷阱:数组为空,数组里数据重复。
比较有技巧的地方是O(1)space,因为考虑到数据重复,此处只能排序, 这就要求重用nums数组空间。
引用网上一位网友的题解:
程序:
Given an unsorted integer array, find the first missing positive integer.
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.
题解:这道题目比较简单,需要注意的是几个陷阱:数组为空,数组里数据重复。
比较有技巧的地方是O(1)space,因为考虑到数据重复,此处只能排序, 这就要求重用nums数组空间。
引用网上一位网友的题解:
Put each number in its right place. For example: When we find 5, then swap it with A[4]. At last, the first place where its number is not right, return the place + 1.
程序:
class Solution { public: int firstMissingPositive(vector<int>& nums) { for (int i = 0; i < nums.size(); i++) { while (nums[i] > 0 && nums[i] <= nums.size() && nums[i] != nums[nums[i] -1]) { swap(nums[i], nums[nums[i] -1]); } } for (int i = 0; i < nums.size(); i++) { if (nums[i] != i + 1) { return i + 1; } } return nums.size() + 1; } };
相关文章推荐
- [LeetCode] First Missing Positive
- leetcode——First Missing Positive
- *LeetCode-First Missing Positive
- leetcode-First Missing Positive
- LeetCode -- First Missing Positive
- LeetCode-First Missing Positive
- Leetcode 41 - First Missing Positive
- LeetCode-41-First Missing Positive 递归水题
- LeetCode First Missing Positive
- [LeetCode] [First Missing Positive 2012-03-08]
- LeetCode_First Missing Positive
- 【leetcode】 First Missing Positive
- [LeetCode。Trick]First Missing Positive
- LeetCode 笔记系列11 First Missing Positive [为什么我们需要insight]
- Java for LeetCode 041 First Missing Positive
- leetcode First Missing Positive
- LeetCode 之 First Missing Positive
- leetcode: First Missing Positive
- LeetCode:Missing Number And First Missing Positive
- leetcode--First Missing Positive