Skip to content

Commit 55f50cb

Browse files
committed
feat: add typescript solution to lc problem: No.2231
No.2231.Largest Number After Digit Swaps by Parity
1 parent 6ae477f commit 55f50cb

File tree

3 files changed

+57
-2
lines changed

3 files changed

+57
-2
lines changed

solution/2200-2299/2231.Largest Number After Digit Swaps by Parity/README.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,25 @@
6565
### **TypeScript**
6666

6767
```ts
68-
68+
function largestInteger(num: number): number {
69+
let arrs = String(num).split('').map(Number);
70+
let odds = []; // 奇数
71+
let evens = [];
72+
for (let i of arrs) {
73+
if ((i & 1) == 1) {
74+
odds.push(i);
75+
} else {
76+
evens.push(i);
77+
}
78+
}
79+
odds.sort((a, b) => a - b);
80+
evens.sort((a, b) => a - b);
81+
let ans = [];
82+
for (let i of arrs) {
83+
ans.push((i & 1) == 1 ? (odds.pop()) : (evens.pop()));
84+
}
85+
return Number(ans.join(''));
86+
};
6987
```
7088

7189
### **...**

solution/2200-2299/2231.Largest Number After Digit Swaps by Parity/README_EN.md

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,25 @@ Note that there may be other sequences of swaps but it can be shown that 87655 i
5757
### **TypeScript**
5858

5959
```ts
60-
60+
function largestInteger(num: number): number {
61+
let arrs = String(num).split('').map(Number);
62+
let odds = []; // 奇数
63+
let evens = [];
64+
for (let i of arrs) {
65+
if ((i & 1) == 1) {
66+
odds.push(i);
67+
} else {
68+
evens.push(i);
69+
}
70+
}
71+
odds.sort((a, b) => a - b);
72+
evens.sort((a, b) => a - b);
73+
let ans = [];
74+
for (let i of arrs) {
75+
ans.push((i & 1) == 1 ? (odds.pop()) : (evens.pop()));
76+
}
77+
return Number(ans.join(''));
78+
};
6179
```
6280

6381
### **...**
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
function largestInteger(num: number): number {
2+
let arrs = String(num).split('').map(Number);
3+
let odds = []; // 奇数
4+
let evens = [];
5+
for (let i of arrs) {
6+
if ((i & 1) == 1) {
7+
odds.push(i);
8+
} else {
9+
evens.push(i);
10+
}
11+
}
12+
odds.sort((a, b) => a - b);
13+
evens.sort((a, b) => a - b);
14+
let ans = [];
15+
for (let i of arrs) {
16+
ans.push((i & 1) == 1 ? (odds.pop()) : (evens.pop()));
17+
}
18+
return Number(ans.join(''));
19+
};

0 commit comments

Comments
 (0)