[leetcode刷题系列]First Missing Positive
2013-08-06 19:43
357 查看
好吧,智商是硬伤。 我承认题目要求的O(n)复杂度和常量空间,我没想到算法。于是就Google了下。
这种思路确实第一次见。长见识了。
这种思路确实第一次见。长见识了。
class Solution { public: int firstMissingPositive(int A[], int n) { // Start typing your C/C++ solution below // DO NOT write int main() function for(int i = 0; i < n; ++ i){ int now = i; while(now >= 0 && now < n){ if(A[now] - 1 == now) break; int target = A[now] - 1; if(target < 0 || target >= n || A[now] == A[target]) break; swap(A[target], A[now]); } } for(int i = 0; i < n; ++ i) if(A[i] != i + 1) return i + 1; return n + 1; } };
相关文章推荐
- LeetCode 笔记系列11 First Missing Positive [为什么我们需要insight]
- leetcode笔记:First Missing Positive
- LeetCode First Missing Positive
- leetcode_First Missing Positive
- [Leetcode] 41 - First Missing Positive
- LeetCode: First Missing Positive [040]
- LeetCode 041 First Missing Positive
- LeetCode_First Missing Positive
- [leetcode题后感]first missing positive
- LeetCode OJ First Missing Positive
- LeetCode First Missing Positive
- [leetcode]First Missing Positive
- 【Leetcode】First Missing Positive
- [LeetCode] [First Missing Positive 2012-03-08]
- leetcode 41 First Missing Positive
- [LeetCode] 找到第一个不存在的正整数 First Missing Positive
- First Missing Positive--LeetCode
- LeetCode题解——First Missing Positive
- 【LeetCode 41】 First Missing Positive
- LeetCode First Missing Positive