Skip to content

Commit ea348e5

Browse files
authored
Update 75-sort-colors.js
1 parent eb71d22 commit ea348e5

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

75-sort-colors.js

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -2,23 +2,19 @@
22
* @param {number[]} nums
33
* @return {void} Do not return anything, modify nums in-place instead.
44
*/
5-
65
const sortColors = function(nums) {
7-
let i = 0
8-
let j = 0
9-
for(let k = 0; k < nums.length; k++) {
10-
let v = nums[k]
11-
nums[k] = 2
12-
if(v < 2) {
13-
nums[j] = 1
14-
j += 1
15-
}
16-
17-
if(v === 0) {
18-
nums[i] = 0
19-
i += 1
20-
}
6+
let j = 0;
7+
let k = nums.length - 1;
8+
const swap = (a, b) => {
9+
const t = nums[a];
10+
nums[a] = nums[b];
11+
nums[b] = t;
12+
};
13+
for (let i = 0; i <= k; i++) {
14+
if (nums[i] === 2) {
15+
swap(i--, k--);
16+
} else if (nums[i] === 0) {
17+
swap(i, j++);
2118
}
22-
23-
return nums;
19+
}
2420
};

0 commit comments

Comments
 (0)