Skip to content

Commit 21b82a7

Browse files
committed
feat: add solutions to lc problems: No.2544~2546
- No.2544.Alternating Digit Sum - No.2545.Sort the Students by Their Kth Score - No.2546.Apply Bitwise Operations to Make Strings Equal
1 parent 97aec58 commit 21b82a7

File tree

14 files changed

+278
-0
lines changed

14 files changed

+278
-0
lines changed

solution/2500-2599/2544.Alternating Digit Sum/README.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,53 @@ func alternateDigitSum(n int) int {
126126
}
127127
```
128128

129+
### **TypeScript**
130+
131+
```ts
132+
function alternateDigitSum(n: number): number {
133+
let ans = 0;
134+
let sign = 1;
135+
while (n) {
136+
ans += (n % 10) * sign;
137+
sign = -sign;
138+
n = Math.floor(n / 10);
139+
}
140+
return ans * -sign;
141+
}
142+
```
143+
144+
### **Rust**
145+
146+
```rust
147+
impl Solution {
148+
pub fn alternate_digit_sum(mut n: i32) -> i32 {
149+
let mut ans = 0;
150+
let mut sign = 1;
151+
while n != 0 {
152+
ans += (n % 10) * sign;
153+
sign = -sign;
154+
n /= 10;
155+
}
156+
ans * -sign
157+
}
158+
}
159+
```
160+
161+
### **C**
162+
163+
```c
164+
int alternateDigitSum(int n) {
165+
int ans = 0;
166+
int sign = 1;
167+
while (n) {
168+
ans += (n % 10) * sign;
169+
sign = -sign;
170+
n /= 10;
171+
}
172+
return ans * -sign;
173+
}
174+
```
175+
129176
### **...**
130177
131178
```

solution/2500-2599/2544.Alternating Digit Sum/README_EN.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,6 +118,53 @@ func alternateDigitSum(n int) int {
118118
}
119119
```
120120

121+
### **TypeScript**
122+
123+
```ts
124+
function alternateDigitSum(n: number): number {
125+
let ans = 0;
126+
let sign = 1;
127+
while (n) {
128+
ans += (n % 10) * sign;
129+
sign = -sign;
130+
n = Math.floor(n / 10);
131+
}
132+
return ans * -sign;
133+
}
134+
```
135+
136+
### **Rust**
137+
138+
```rust
139+
impl Solution {
140+
pub fn alternate_digit_sum(mut n: i32) -> i32 {
141+
let mut ans = 0;
142+
let mut sign = 1;
143+
while n != 0 {
144+
ans += (n % 10) * sign;
145+
sign = -sign;
146+
n /= 10;
147+
}
148+
ans * -sign
149+
}
150+
}
151+
```
152+
153+
### **C**
154+
155+
```c
156+
int alternateDigitSum(int n) {
157+
int ans = 0;
158+
int sign = 1;
159+
while (n) {
160+
ans += (n % 10) * sign;
161+
sign = -sign;
162+
n /= 10;
163+
}
164+
return ans * -sign;
165+
}
166+
```
167+
121168
### **...**
122169
123170
```
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
int alternateDigitSum(int n) {
2+
int ans = 0;
3+
int sign = 1;
4+
while (n) {
5+
ans += (n % 10) * sign;
6+
sign = -sign;
7+
n /= 10;
8+
}
9+
return ans * -sign;
10+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
impl Solution {
2+
pub fn alternate_digit_sum(mut n: i32) -> i32 {
3+
let mut ans = 0;
4+
let mut sign = 1;
5+
while n != 0 {
6+
ans += (n % 10) * sign;
7+
sign = -sign;
8+
n /= 10;
9+
}
10+
ans * -sign
11+
}
12+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
function alternateDigitSum(n: number): number {
2+
let ans = 0;
3+
let sign = 1;
4+
while (n) {
5+
ans += (n % 10) * sign;
6+
sign = -sign;
7+
n = Math.floor(n / 10);
8+
}
9+
return ans * -sign;
10+
}

solution/2500-2599/2545.Sort the Students by Their Kth Score/README.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,26 @@ func sortTheStudents(score [][]int, k int) [][]int {
108108
}
109109
```
110110

111+
### **TypeScript**
112+
113+
```ts
114+
function sortTheStudents(score: number[][], k: number): number[][] {
115+
return score.sort((a, b) => b[k] - a[k]);
116+
}
117+
```
118+
119+
### **Rust**
120+
121+
```rust
122+
impl Solution {
123+
pub fn sort_the_students(mut score: Vec<Vec<i32>>, k: i32) -> Vec<Vec<i32>> {
124+
let k = k as usize;
125+
score.sort_by(|a, b| b[k].cmp(&a[k]));
126+
score
127+
}
128+
}
129+
```
130+
111131
### **...**
112132

113133
```

solution/2500-2599/2545.Sort the Students by Their Kth Score/README_EN.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,26 @@ func sortTheStudents(score [][]int, k int) [][]int {
8888
}
8989
```
9090

91+
### **TypeScript**
92+
93+
```ts
94+
function sortTheStudents(score: number[][], k: number): number[][] {
95+
return score.sort((a, b) => b[k] - a[k]);
96+
}
97+
```
98+
99+
### **Rust**
100+
101+
```rust
102+
impl Solution {
103+
pub fn sort_the_students(mut score: Vec<Vec<i32>>, k: i32) -> Vec<Vec<i32>> {
104+
let k = k as usize;
105+
score.sort_by(|a, b| b[k].cmp(&a[k]));
106+
score
107+
}
108+
}
109+
```
110+
91111
### **...**
92112

93113
```
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
impl Solution {
2+
pub fn sort_the_students(mut score: Vec<Vec<i32>>, k: i32) -> Vec<Vec<i32>> {
3+
let k = k as usize;
4+
score.sort_by(|a, b| b[k].cmp(&a[k]));
5+
score
6+
}
7+
}
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
function sortTheStudents(score: number[][], k: number): number[][] {
2+
return score.sort((a, b) => b[k] - a[k]);
3+
}

solution/2500-2599/2546.Apply Bitwise Operations to Make Strings Equal/README.md

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,6 +101,45 @@ func makeStringsEqual(s string, target string) bool {
101101
}
102102
```
103103

104+
### **TypeScript**
105+
106+
```ts
107+
function makeStringsEqual(s: string, target: string): boolean {
108+
return s.includes('1') === target.includes('1');
109+
}
110+
```
111+
112+
### **Rust**
113+
114+
```rust
115+
impl Solution {
116+
pub fn make_strings_equal(s: String, target: String) -> bool {
117+
s.contains('1') == target.contains('1')
118+
}
119+
}
120+
```
121+
122+
### **C**
123+
124+
```c
125+
bool makeStringsEqual(char *s, char *target) {
126+
int count = 0;
127+
for (int i = 0; s[i]; i++) {
128+
if (s[i] == '1') {
129+
count++;
130+
break;
131+
}
132+
}
133+
for (int i = 0; target[i]; i++) {
134+
if (target[i] == '1') {
135+
count++;
136+
break;
137+
}
138+
}
139+
return !(count & 1);
140+
}
141+
```
142+
104143
### **...**
105144
106145
```

0 commit comments

Comments
 (0)