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
}
相关推荐
Wenweno0o4 小时前
Eino-Document 组件使用指南
golang·大模型·智能体·eino
木子墨5165 小时前
LeetCode 热题 100 精讲 | 并查集篇:最长连续序列 · 岛屿数量 · 省份数量 · 冗余连接 · 等式方程的可满足性
数据结构·c++·算法·leetcode
lolo大魔王9 小时前
Go语言的反射机制
开发语言·后端·算法·golang
故事和你919 小时前
洛谷-算法1-7-搜索3
数据结构·c++·算法·leetcode·动态规划
XMYX-010 小时前
16 - Go 协程(goroutine):从基础到实战
开发语言·golang
cao233311 小时前
poj1845 sumdiv 题解
题解
lolo大魔王11 小时前
Go语言的文件处理操作
golang
jieyucx11 小时前
Golang 完整安装与 VSCode 开发环境搭建教程
开发语言·vscode·golang
y = xⁿ12 小时前
20天速通LeetCode day07:前缀和
数据结构·算法·leetcode
小雅痞12 小时前
[Java][Leetcode hard] 42. 接雨水
java·开发语言·leetcode