#2293

Min Max Game

pupil · 345 · lc easy +22 · verified · 64.2% accepted · 588 likes · top 67%

Description

You are given a 0-indexed integer array nums whose length is a power of 2.

Apply the following algorithm repeatedly:

- Let n be the length of nums. If n == 1, halt. Otherwise form newNums of length n / 2.

- For every even index i (where 0 <= i < n / 2), set newNums[i] = min(nums[2 * i], nums[2 * i + 1]).

- For every odd index i (where 0 <= i < n / 2), set newNums[i] = max(nums[2 * i], nums[2 * i + 1]).

- Set nums = newNums and repeat.

Return the final remaining element.

Example 1:

Input: nums = [1,3,5,2,4,8,2,2]
Output: 1
Explanation: The following arrays are the results of applying the algorithm repeatedly.
First: nums = [1,5,4,2]
Second: nums = [1,4]
Third: nums = [1]
1 is the last remaining number, so we return 1.

Example 2:

Input: nums = [3]
Output: 3
Explanation: 3 is already the last remaining number, so we return 3.

Code

1
2
3