leetcode First Missing Positive
2014-11-05 21:45
316 查看
此题的题意需要好好理解一下,给的n表明数组中最大的数应该是n,数组A中本应该包括的数是1,2.....n,
根据这一点,方法如下:
第一遍遍历数组时将A[i]在1...n中间的数放在数组下标为i+1中,
第二遍遍历时若发现第一个A[i]!=i+1, 即为第一个不满足的正数
代码
根据这一点,方法如下:
第一遍遍历数组时将A[i]在1...n中间的数放在数组下标为i+1中,
第二遍遍历时若发现第一个A[i]!=i+1, 即为第一个不满足的正数
代码
class Solution { public: int firstMissingPositive(int A[], int n) { if(n==0) return 1; for(int i = 0; i < n; ++i) { if(A[i]<=n&&A[i]>0&&A[A[i]-1]!=A[i]) { int temp = A[A[i]-1]; A[A[i]-1] = A[i]; A[i] = temp; --i; } } for(int i = 0; i < n; ++i) { if(A[i]!=i+1) return i+1; } return n+1; } };
相关文章推荐
- Leetcode:First Missing Positive
- [LeetCode] First Missing Positive
- 41. First Missing Positive Leetcode Python
- 【leetcode】First Missing Positive
- leetcode:First Missing Positive
- 开始刷leetcode day20:First Missing Positive
- 【LeetCode练习题】First Missing Positive
- leetcode[41]First Missing Positive
- leetcode-First Missing Positive(2014.2.25)
- LeetCode: First Missing Positive
- leetcode——First Missing Positive
- Leetcode: First Missing Positive
- [leetcode]First Missing Positive
- 【leetcode】First Missing Positive(hard) ☆
- LeetCode-First Missing Positive
- [LeetCode] First Missing Positive
- LeetCode - First Missing Positive
- [LeetCode] First Missing Positive 解题报告
- LeetCode--First Missing Positive (第一个丢失的正整数)Python
- [LeetCode 41] First Missing Positive