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
}
相关推荐
Zfox_21 分钟前
【Go】异常处理、泛型和文件操作
开发语言·后端·golang
zhangyanfei0124 分钟前
谈谈 Golang 中的线程协程是如何管理栈内存的
开发语言·后端·golang
q***04631 小时前
[golang][MAC]Go环境搭建+VsCode配置
vscode·macos·golang
Rock_yzh1 小时前
LeetCode算法刷题——56. 合并区间
数据结构·c++·学习·算法·leetcode·职场和发展·动态规划
sheeta19981 小时前
LeetCode 每日一题笔记 日期:2025.12.02 题目:3623. 统计梯形的数目 I
笔记·算法·leetcode
Rock_yzh2 小时前
LeetCode算法刷题——53. 最大子数组和
java·数据结构·c++·算法·leetcode·职场和发展·动态规划
leoufung2 小时前
103. 二叉树的锯齿形层序遍历(LeetCode 103)
算法·leetcode·职场和发展
墨染点香2 小时前
LeetCode 刷题【179. 最大数】
算法·leetcode·职场和发展
sin_hielo3 小时前
leetcode 3623
算法·leetcode·哈希算法
Swift社区4 小时前
LeetCode 439 - 三元表达式解析器
算法·leetcode·ssh