First Missing Positive
Example
Challenge
public class Solution {
/**
* @param A: An array of integers
* @return: An integer
*/
public int firstMissingPositive(int[] A) {
// write your code here
if(A == null || A.length == 0){
return 1;
}
for (int i =0; i < A.length ;++i ){
while(A[i] > 0 && A[i] <= A.length && A[i] != i+1){
int tmp = A[A[i]-1];
if(tmp == A[i]){
break;
}
A[A[i]-1] = A[i];
A[i] = tmp;
}
}
for(int i = 0; i < A.length; i++){
if(A[i] != i+1){
return i+1;
}
}
return A.length + 1;
}
}Last updated