Skip to content

Commit 50f8f38

Browse files
committed
feat: add typescript solution to lc problem: No.0075.Sort Colors
1 parent e5fca16 commit 50f8f38

File tree

3 files changed

+73
-0
lines changed

3 files changed

+73
-0
lines changed

solution/0000-0099/0075.Sort Colors/README.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,6 +121,32 @@ class Solution {
121121
}
122122
```
123123

124+
### **TypeScript**
125+
126+
```ts
127+
/**
128+
Do not return anything, modify nums in-place instead.
129+
*/
130+
function sortColors(nums: number[]): void {
131+
let n = nums.length;
132+
if (n < 2) return;
133+
let p0 = 0, p2 = n - 1;
134+
let p1 = 0;
135+
while (p1 <= p2) {
136+
if (nums[p1] == 0) {
137+
[nums[p0], nums[p1]] = [nums[p1], nums[p0]];
138+
p0++;
139+
p1++;
140+
} else if (nums[p1] == 1) {
141+
p1++;
142+
} else {
143+
[nums[p1], nums[p2]] = [nums[p2], nums[p1]];
144+
p2--;
145+
}
146+
}
147+
};
148+
```
149+
124150
### **C++**
125151

126152
```cpp

solution/0000-0099/0075.Sort Colors/README_EN.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,32 @@ class Solution {
9292
}
9393
```
9494

95+
### **TypeScript**
96+
97+
```ts
98+
/**
99+
Do not return anything, modify nums in-place instead.
100+
*/
101+
function sortColors(nums: number[]): void {
102+
let n = nums.length;
103+
if (n < 2) return;
104+
let p0 = 0, p2 = n - 1;
105+
let p1 = 0;
106+
while (p1 <= p2) {
107+
if (nums[p1] == 0) {
108+
[nums[p0], nums[p1]] = [nums[p1], nums[p0]];
109+
p0++;
110+
p1++;
111+
} else if (nums[p1] == 1) {
112+
p1++;
113+
} else {
114+
[nums[p1], nums[p2]] = [nums[p2], nums[p1]];
115+
p2--;
116+
}
117+
}
118+
};
119+
```
120+
95121
### **C++**
96122

97123
```cpp
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
Do not return anything, modify nums in-place instead.
3+
*/
4+
function sortColors(nums: number[]): void {
5+
let n = nums.length;
6+
if (n < 2) return;
7+
let p0 = 0, p2 = n - 1;
8+
let p1 = 0;
9+
while (p1 <= p2) {
10+
if (nums[p1] == 0) {
11+
[nums[p0], nums[p1]] = [nums[p1], nums[p0]];
12+
p0++;
13+
p1++;
14+
} else if (nums[p1] == 1) {
15+
p1++;
16+
} else {
17+
[nums[p1], nums[p2]] = [nums[p2], nums[p1]];
18+
p2--;
19+
}
20+
}
21+
};

0 commit comments

Comments
 (0)