leetcode--First Missing Positive
2017-08-08 09:25
417 查看
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.
[java] view
plain copy
public class Solution {
public int firstMissingPositive(int[] A){
if(A.length==0||A==null)
return 1;
//把元素放入正确的位置,例如1放在A[0],2放在A[1];负数,相同数字,不必理会,因为已经出现过了,负数则必然连续(但不是顺序的)
for(int i = 0;i<A.length;i++){
while(A[i]!=i+1){
if(A[i]>=A.length||A[i]<=0||A[i]==A[A[i]-1])
break;
int temp = A[i];
A[i] = A[temp-1];
A[temp-1] = temp;
}
}
for(int i = 0;i<A.length;i++){
if(A[i]!=i+1)
return i+1;
}
return A.length+1;
}
}
原文链接http://blog.csdn.net/crazy__chen/article/details/45726257
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.
[java] view
plain copy
public class Solution {
public int firstMissingPositive(int[] A){
if(A.length==0||A==null)
return 1;
//把元素放入正确的位置,例如1放在A[0],2放在A[1];负数,相同数字,不必理会,因为已经出现过了,负数则必然连续(但不是顺序的)
for(int i = 0;i<A.length;i++){
while(A[i]!=i+1){
if(A[i]>=A.length||A[i]<=0||A[i]==A[A[i]-1])
break;
int temp = A[i];
A[i] = A[temp-1];
A[temp-1] = temp;
}
}
for(int i = 0;i<A.length;i++){
if(A[i]!=i+1)
return i+1;
}
return A.length+1;
}
}
原文链接http://blog.csdn.net/crazy__chen/article/details/45726257
相关文章推荐
- leetcode-First Missing Positive
- First Missing Positive (寻找第一个丢失的正数)【leetcode】
- leetcode-First Missing Positive
- 20170611-leetcode-041-First Missing Positive
- LeetCode | First Missing Positive(第一个缺失的正整数)
- LeetCode41/19 First Missing Positive/Remove Nth Node From End of List ****
- 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:First Missing Positive
- LeetCode-First Missing Positive
- leetcode 41 First Missing Positive
- Leetcode First Missing Positive
- [leetcode] First Missing Positive
- 【LeetCode】First Missing Positive
- First Missing Positive--LeetCode
- LeetCode First Missing Positive