Golang | Leetcode Golang题解之第486题预测赢家

题目:

题解:

Go 复制代码
func PredictTheWinner(nums []int) bool {
    return total(nums, 0, len(nums) - 1, 1) >= 0
}

func total(nums []int, start, end int, turn int) int {
    if start == end {
        return nums[start] * turn
    }
    scoreStart := nums[start] * turn + total(nums, start + 1, end, -turn)
    scoreEnd := nums[end] * turn + total(nums, start, end - 1, -turn)
    return max(scoreStart * turn, scoreEnd * turn) * turn
}

func max(x, y int) int {
    if x > y {
        return x
    }
    return y
}
相关推荐
Dream it possible!1 天前
LeetCode 面试经典 150_二叉树_二叉树中的最大路径和(77_124_C++_困难)(DFS)
c++·leetcode·面试·二叉树
做怪小疯子1 天前
LeetCode 热题 100——子串——和为 K 的子数组
算法·leetcode·职场和发展
希望有朝一日能如愿以偿1 天前
力扣每日一题:仅含1的子串数
算法·leetcode·职场和发展
q***71081 天前
【Golang】——Gin 框架中的表单处理与数据绑定
microsoft·golang·gin
苏小瀚1 天前
算法---FloodFill算法和记忆化搜索算法
数据结构·算法·leetcode
少许极端2 天前
算法奇妙屋(十二)-优先级队列(堆)
数据结构·算法·leetcode·优先级队列··图解算法
Kuo-Teng2 天前
LeetCode 118: Pascal‘s Triangle
java·算法·leetcode·职场和发展·动态规划
q***72872 天前
Golang 构建学习
开发语言·学习·golang
野蛮人6号2 天前
力扣热题100道之207课程表
算法·leetcode·职场和发展
学学学无无止境2 天前
力扣-买卖股票的最佳时机
leetcode