Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 14dc6f3

Browse files
committed
feat: add solutions to lc problem: No.2293
No.2293.Min Max Game
1 parent 2e58403 commit 14dc6f3

File tree

4 files changed

+110
-0
lines changed

4 files changed

+110
-0
lines changed

‎solution/2200-2299/2293.Min Max Game/README.md‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,46 @@ function minMaxGame(nums: number[]): number {
168168
}
169169
```
170170

171+
### **Rust**
172+
173+
```rust
174+
impl Solution {
175+
pub fn min_max_game(mut nums: Vec<i32>) -> i32 {
176+
let mut n = nums.len();
177+
while n != 1 {
178+
n >>= 1;
179+
for i in 0..n {
180+
nums[i] = (if i & 1 == 1 {
181+
i32::max
182+
} else {
183+
i32::min
184+
})(nums[i << 1], nums[i << 1 | 1])
185+
}
186+
}
187+
nums[0]
188+
}
189+
}
190+
```
191+
192+
### **C**
193+
194+
```c
195+
#define min(a, b) (((a) < (b)) ? (a) : (b))
196+
#define max(a, b) (((a) > (b)) ? (a) : (b))
197+
198+
int minMaxGame(int *nums, int numsSize) {
199+
while (numsSize != 1) {
200+
numsSize >>= 1;
201+
for (int i = 0; i < numsSize; i++) {
202+
int a = nums[i << 1];
203+
int b = nums[i << 1 | 1];
204+
nums[i] = i & 1 ? max(a, b) : min(a, b);
205+
}
206+
}
207+
return nums[0];
208+
}
209+
```
210+
171211
### **...**
172212
173213
```

‎solution/2200-2299/2293.Min Max Game/README_EN.md‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,46 @@ function minMaxGame(nums: number[]): number {
150150
}
151151
```
152152

153+
### **Rust**
154+
155+
```rust
156+
impl Solution {
157+
pub fn min_max_game(mut nums: Vec<i32>) -> i32 {
158+
let mut n = nums.len();
159+
while n != 1 {
160+
n >>= 1;
161+
for i in 0..n {
162+
nums[i] = (if i & 1 == 1 {
163+
i32::max
164+
} else {
165+
i32::min
166+
})(nums[i << 1], nums[i << 1 | 1])
167+
}
168+
}
169+
nums[0]
170+
}
171+
}
172+
```
173+
174+
### **C**
175+
176+
```c
177+
#define min(a, b) (((a) < (b)) ? (a) : (b))
178+
#define max(a, b) (((a) > (b)) ? (a) : (b))
179+
180+
int minMaxGame(int *nums, int numsSize) {
181+
while (numsSize != 1) {
182+
numsSize >>= 1;
183+
for (int i = 0; i < numsSize; i++) {
184+
int a = nums[i << 1];
185+
int b = nums[i << 1 | 1];
186+
nums[i] = i & 1 ? max(a, b) : min(a, b);
187+
}
188+
}
189+
return nums[0];
190+
}
191+
```
192+
153193
### **...**
154194
155195
```
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
#define min(a, b) (((a) < (b)) ? (a) : (b))
2+
#define max(a, b) (((a) > (b)) ? (a) : (b))
3+
4+
int minMaxGame(int *nums, int numsSize) {
5+
while (numsSize != 1) {
6+
numsSize >>= 1;
7+
for (int i = 0; i < numsSize; i++) {
8+
int a = nums[i << 1];
9+
int b = nums[i << 1 | 1];
10+
nums[i] = i & 1 ? max(a, b) : min(a, b);
11+
}
12+
}
13+
return nums[0];
14+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
impl Solution {
2+
pub fn min_max_game(mut nums: Vec<i32>) -> i32 {
3+
let mut n = nums.len();
4+
while n != 1 {
5+
n >>= 1;
6+
for i in 0..n {
7+
nums[i] = (if i & 1 == 1 {
8+
i32::max
9+
} else {
10+
i32::min
11+
})(nums[i << 1], nums[i << 1 | 1])
12+
}
13+
}
14+
nums[0]
15+
}
16+
}

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /