class Solution {
public:
int firstMissingPositive(int A[], int n) {
if(n <= 0) return 1;
for(int i = 0; i < n; i++){
if(A[i] <= 0) A[i] = n + 2;
}
for(int i = 0; i < n; i++){
int tmp = abs(A[i]);
if(tmp <= n)
A[tmp - 1] = -abs(A[tmp - 1]);
}
for(int i = 0; i < n; i++){
if(A[i] > 0) return i + 1;
}
return n + 1;
}
};
[LeetCode] First Missing Positive (Hasing)
最新推荐文章于 2024-10-15 19:28:18 发布