#2293
Easy Algorithms Min max game
Array Simulation
64.3% acceptance
Feb 25, 2026
588
33
You are given a 0-indexed integer array nums whose length is a power of 2.
Apply the following algorithm on nums:
Let n be the length of nums. If n == 1, end the process. Otherwise, create a new 0-indexed integer array newNums of length n / 2.
For every even index i where 0 <= i < n / 2, assign the value of newNums[i] as min(nums[2 * i], nums[2 * i + 1]).
For every odd index i where 0 <= i < n / 2, assign the value of newNums[i] as max(nums[2 * i], nums[2 * i + 1]).
Replace the array nums with newNums.
Repeat the entire process starting from step 1.
Return the last number that remains in nums after applying the algorithm.
Solution
Rust
Time O(n²)
Space O(n)
impl Solution {
pub fn min_max_game(mut nums: Vec<i32>) -> i32 {
while nums.len() > 1 {
let n = nums.len() / 2;
let mut new_nums = vec![0; n];
for i in 0..n {
if i % 2 == 0 {
new_nums[i] = nums[2 * i].min(nums[2 * i + 1]);
} else {
new_nums[i] = nums[2 * i].max(nums[2 * i + 1]);
}
}
nums = new_nums;
}
nums[0]
}
}