在leetcode上通不过 在自己电脑上可以运行 请大牛指教# JobHunting - 待字闺中
C*U
1 楼
找第一个丢失的正整数
int firstMissingPositive(int A[], int n) {
for(int i = 0; i < n; i++) {
int temp = 0;
while(A[i] != i) {
if(A[i] < 0)
break;
temp = A[i];
if(temp >= n)
break;
A[i] = A[A[i]];
A[temp] = temp;
}
}
for(int i = 1; i < n; i++)
if(A[i] != i)
return i;
return n;
}
int firstMissingPositive(int A[], int n) {
for(int i = 0; i < n; i++) {
int temp = 0;
while(A[i] != i) {
if(A[i] < 0)
break;
temp = A[i];
if(temp >= n)
break;
A[i] = A[A[i]];
A[temp] = temp;
}
}
for(int i = 1; i < n; i++)
if(A[i] != i)
return i;
return n;
}