Skip to content

Commit 6583918

Browse files
committed
912.ts 快排,还有点问题
1 parent 1deb980 commit 6583918

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

912.ts

+37
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
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+

0 commit comments

Comments
 (0)