int firstMissingPositive(int A[], int n) {
int max = 0, min =0, sum=0;
for(int i=0; i<n; i++){
if(A[i]>0)sum+=A[i];
if(A[i]>max) max = A[i];
}
if(n==0)
return 1;
int missing = (double)(1+max)/2*(max)-sum;
return missing==0?(max+1):missing;
}
leetcode