First Missing Positive(重重)
2014-08-29 23:59
204 查看
题目:
点击打开链接
解答:
O(N)复杂度,常量空间
把数字x放到对应的x-1的位置 例如 7 则放到A[6]中
然后遍历 如果a[i] != i+1 则是没有的
参考:
http://blog.csdn.net/havenoidea/article/details/11812717
如果不要求常量空间直接哈希
这里可以思考到 本来就是采用哈希的方法 但是不让使用额外的空间 所以就占用原有的空间实现。
代码:
点击打开链接
解答:
O(N)复杂度,常量空间
把数字x放到对应的x-1的位置 例如 7 则放到A[6]中
然后遍历 如果a[i] != i+1 则是没有的
参考:
http://blog.csdn.net/havenoidea/article/details/11812717
如果不要求常量空间直接哈希
这里可以思考到 本来就是采用哈希的方法 但是不让使用额外的空间 所以就占用原有的空间实现。
代码:
class Solution { public: int firstMissingPositive(int A[], int n) { int temp=0,i; if(n==0)return 1; for(i=0;i<n;++i) { while(A[i]!=i+1&&A[i]>=1&&A[i]<=n&&A[i]!=A[A[i]-1]) swap(A[i],A[A[i]-1]); } for(i=0;i<n;++i) { if(A[i]!=i+1)return i+1; } return n+1; } };
相关文章推荐
- LeetCode First Missing Positive
- 41. First Missing Positive
- Missing Number, First Missing Positive
- [leetcode] first missing positive
- LeetCode - First Missing Positive
- First Missing Positive(leetcode)
- leetcode — first-missing-positive
- First Missing Positive[No]
- First Missing Positive
- [LeetCode] First Missing Positive
- First Missing Positive
- Leetcode First Missing Positive
- LeetCode进阶之路( First Missing Positive)
- Leetcode | First Missing Positive
- LeetCode: First Missing Positive [040]
- leetcode-First Missing Positive
- [LeetCode] [First Missing Positive 2012-03-08]
- 41. First Missing Positive
- Leetcode First Missing Positive
- 41. First Missing Positive