Skip to content

Commit 3420ffa

Browse files
committed
Bucket Sorted
1 parent 11b0927 commit 3420ffa

File tree

1 file changed

+23
-0
lines changed

1 file changed

+23
-0
lines changed

Sorted-Array/First Missing Positive

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// Bucket Sort ! O(n)的方式,这里利用了交换并不是严格意义上的桶排序,由此题引申到桶排序
2+
// 费了很大劲,look the answer...
3+
4+
5+
class Solution {
6+
public:
7+
int firstMissingPositive(int A[], int n) {
8+
// 有一种排序是将其放在跟下标一致的位置上的--》 桶排序
9+
10+
for(int i = 0;i < n;)
11+
{
12+
if(A[i] > 0 && A[i]< n &A[A[i]] != A[i])
13+
swap(A[A[i]],A[i]);
14+
else
15+
i++;
16+
}
17+
for(int j = 1;j < n;j++)
18+
if(A[j] != j)
19+
return j;
20+
return A[0]==n? n+1:n; // n 是排外的元素,A[1]之后 都是排好序的且与下标一致的
21+
22+
}
23+
};

0 commit comments

Comments
 (0)