Skip to content

Commit b8a55ab

Browse files
committed
feat: add solutions to lc problem: No.1561
No.1561.Maximum Number of Coins You Can Get
1 parent a48c7ca commit b8a55ab

File tree

5 files changed

+126
-0
lines changed

5 files changed

+126
-0
lines changed

solution/1500-1599/1561.Maximum Number of Coins You Can Get/README.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,6 +120,53 @@ func maxCoins(piles []int) int {
120120
}
121121
```
122122

123+
### **TypeScript**
124+
125+
```ts
126+
function maxCoins(piles: number[]): number {
127+
piles.sort((a, b) => a - b);
128+
const n = piles.length;
129+
let ans = 0;
130+
for (let i = 1; i <= Math.floor(n / 3); i++) {
131+
ans += piles[n - 2 * i];
132+
}
133+
return ans;
134+
}
135+
```
136+
137+
### **Rust**
138+
139+
```rust
140+
impl Solution {
141+
pub fn max_coins(mut piles: Vec<i32>) -> i32 {
142+
piles.sort();
143+
let n = piles.len();
144+
let mut ans = 0;
145+
for i in 1..=n / 3 {
146+
ans += piles[n - 2 * i];
147+
}
148+
ans
149+
}
150+
}
151+
```
152+
153+
### **C**
154+
155+
```c
156+
int cmp(const void *a, const void *b) {
157+
return *(int *) a - *(int *) b;
158+
}
159+
160+
int maxCoins(int *piles, int pilesSize) {
161+
qsort(piles, pilesSize, sizeof(int), cmp);
162+
int ans = 0;
163+
for (int i = 1; i <= pilesSize / 3; i++) {
164+
ans += piles[pilesSize - 2 * i];
165+
};
166+
return ans;
167+
}
168+
```
169+
123170
### **...**
124171
125172
```

solution/1500-1599/1561.Maximum Number of Coins You Can Get/README_EN.md

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,53 @@ func maxCoins(piles []int) int {
110110
}
111111
```
112112

113+
### **TypeScript**
114+
115+
```ts
116+
function maxCoins(piles: number[]): number {
117+
piles.sort((a, b) => a - b);
118+
const n = piles.length;
119+
let ans = 0;
120+
for (let i = 1; i <= Math.floor(n / 3); i++) {
121+
ans += piles[n - 2 * i];
122+
}
123+
return ans;
124+
}
125+
```
126+
127+
### **Rust**
128+
129+
```rust
130+
impl Solution {
131+
pub fn max_coins(mut piles: Vec<i32>) -> i32 {
132+
piles.sort();
133+
let n = piles.len();
134+
let mut ans = 0;
135+
for i in 1..=n / 3 {
136+
ans += piles[n - 2 * i];
137+
}
138+
ans
139+
}
140+
}
141+
```
142+
143+
### **C**
144+
145+
```c
146+
int cmp(const void *a, const void *b) {
147+
return *(int *) a - *(int *) b;
148+
}
149+
150+
int maxCoins(int *piles, int pilesSize) {
151+
qsort(piles, pilesSize, sizeof(int), cmp);
152+
int ans = 0;
153+
for (int i = 1; i <= pilesSize / 3; i++) {
154+
ans += piles[pilesSize - 2 * i];
155+
};
156+
return ans;
157+
}
158+
```
159+
113160
### **...**
114161
115162
```
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
int cmp(const void *a, const void *b) {
2+
return *(int *) a - *(int *) b;
3+
}
4+
5+
int maxCoins(int *piles, int pilesSize) {
6+
qsort(piles, pilesSize, sizeof(int), cmp);
7+
int ans = 0;
8+
for (int i = 1; i <= pilesSize / 3; i++) {
9+
ans += piles[pilesSize - 2 * i];
10+
};
11+
return ans;
12+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
impl Solution {
2+
pub fn max_coins(mut piles: Vec<i32>) -> i32 {
3+
piles.sort();
4+
let n = piles.len();
5+
let mut ans = 0;
6+
for i in 1..=n / 3 {
7+
ans += piles[n - 2 * i];
8+
}
9+
ans
10+
}
11+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
function maxCoins(piles: number[]): number {
2+
piles.sort((a, b) => a - b);
3+
const n = piles.length;
4+
let ans = 0;
5+
for (let i = 1; i <= Math.floor(n / 3); i++) {
6+
ans += piles[n - 2 * i];
7+
}
8+
return ans;
9+
}

0 commit comments

Comments
 (0)