LeetCode 41.First Missing Positive
来源:互联网 发布:java进销存系统源码 编辑:程序博客网 时间:2024/05/22 05:14
题目:
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.
分析与解答:
一开始我理解错题目了,以为可以不从1开始算起。后来纠正了之后其实题目就不难了。每找到一个数就把它换到正确的位置上,直到换不下去为止。整个排序结束后再进行一次遍历,从0开始找第一个丢失的正数即可。
class Solution { public: int firstMissingPositive(int A[], int n) { for(int i = 0; i < n; ++i) { while(A[i] != i+1){ if(A[i] <=0 || A[i] > n || A[A[i]- 1] == A[i]) break; int temp = A[i]; A[i] = A[temp - 1]; A[temp - 1] = temp; } } for(int i = 0; i < n; ++i) { if(A[i] != i + 1) return i + 1; } return n+1; }};
0 0
- [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 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] 41. First Missing Positive
- [LeetCode]--41. First Missing Positive
- leetcode 41. First Missing Positive
- leetcode 41.First Missing Positive
- leetcode 41. First Missing Positive
- 各种版本的称呼--例如Lite指精减版
- Java学习笔记19
- 【javascript】polyfill和shim
- ASP.NET MVC5 PagedList分页示例
- C++与C#中this关键字的区别
- LeetCode 41.First Missing Positive
- C#中的值类型与引用类型
- Java包命名规则引发的思考
- C++文件操作权限总结
- hdu 2682 Tree 最小生成树~~~~水题一枚,,用到了筛法求素数,我竟然在格式上面PE了两次!!
- [BZOJ 2339][HNOI 2011]卡农(组合数学)
- Accelerated C++ Exercises
- LeetCode[28]Implement strStr()
- SQLCookbook 学习笔记 4插入 更新 删除