File tree Expand file tree Collapse file tree 4 files changed +110
-0
lines changed
solution/2200-2299/2293.Min Max Game Expand file tree Collapse file tree 4 files changed +110
-0
lines changed Original file line number Diff line number Diff line change @@ -168,6 +168,46 @@ function minMaxGame(nums: number[]): number {
168
168
}
169
169
```
170
170
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
+
171
211
### **...**
172
212
173
213
```
Original file line number Diff line number Diff line change @@ -150,6 +150,46 @@ function minMaxGame(nums: number[]): number {
150
150
}
151
151
```
152
152
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
+
153
193
### **...**
154
194
155
195
```
Original file line number Diff line number Diff line change
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
+ }
Original file line number Diff line number Diff line change
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
+ }
You can’t perform that action at this time.
0 commit comments