【2023-01-15每日一题】2293. 极大极小游戏[Easy]
2023-01-15
1分钟阅读时长
2023-01-15每日一题:2293. 极大极小游戏
难度:Easy
标签:数组 、 模拟
给你一个下标从 0 开始的整数数组 nums ,其长度是 2 的幂。
对 nums 执行下述算法:
- 设 n等于nums的长度,如果n == 1,终止 算法过程。否则,创建 一个新的整数数组newNums,新数组长度为n / 2,下标从 0 开始。
- 对于满足 0 <= i < n / 2的每个 偶数 下标i,将newNums[i]赋值 为min(nums[2 * i], nums[2 * i + 1])。
- 对于满足 0 <= i < n / 2的每个 奇数 下标i,将newNums[i]赋值 为max(nums[2 * i], nums[2 * i + 1])。
- 用 newNums替换nums。
- 从步骤 1 开始 重复 整个过程。
执行算法后,返回 nums 中剩下的那个数字。
示例 1:

输入:nums = [1,3,5,2,4,8,2,2] 输出:1 解释:重复执行算法会得到下述数组。 第一轮:nums = [1,5,4,2] 第二轮:nums = [1,4] 第三轮:nums = [1] 1 是最后剩下的那个数字,返回 1 。
示例 2:
输入:nums = [3] 输出:3 解释:3 就是最后剩下的数字,返回 3 。
提示:
- 1 <= nums.length <= 1024
- 1 <= nums[i] <= 109
- nums.length是- 2的幂
方法一:
详细思路过程见官方题解,这里只做个人刷题记录,方便后续查询阅读
func minMaxGame(nums []int) int {
}