File tree 1 file changed +37
-0
lines changed
1 file changed +37
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ * @lc app=leetcode.cn id=912 lang=typescript
3
+ *
4
+ * [912] 排序数组
5
+ */
6
+
7
+ // @lc code=start
8
+ function sortArray ( nums : number [ ] ) : number [ ] {
9
+ function quickSort ( left : number , right : number ) {
10
+ if ( left < right ) {
11
+ const mid = partition ( left , right )
12
+ quickSort ( left , mid - 1 )
13
+ quickSort ( mid + 1 , right )
14
+ }
15
+ }
16
+
17
+ function partition ( left : number , right : number ) {
18
+ let tmp = nums [ left ]
19
+ while ( left < right ) {
20
+
21
+ while ( left < right && nums [ right ] > tmp ) right --
22
+ nums [ left ] = nums [ right ]
23
+ while ( left < right && nums [ left ] <= tmp ) left ++
24
+ nums [ right ] = nums [ left ]
25
+ }
26
+ nums [ left ] = tmp
27
+ return left
28
+ }
29
+
30
+ quickSort ( 0 , nums . length - 1 )
31
+ return nums
32
+ } ;
33
+ // @lc code=end
34
+
35
+ let nums = [ 5 , 1 , 1 , 2 , 0 , 0 ]
36
+ console . log ( sortArray ( nums ) )
37
+
You can’t perform that action at this time.
0 commit comments