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
}
相关推荐
CoderYanger5 小时前
C.滑动窗口——1423. 可获得的最大点数
java·开发语言·算法·leetcode·1024程序员节
apocelipes5 小时前
利用泛型编写更安全的Golang代码
golang·泛型编程
2501_9416233211 小时前
智慧农业监控平台中的多语言语法引擎与实时决策实践
leetcode
小白程序员成长日记14 小时前
2025.11.24 力扣每日一题
算法·leetcode·职场和发展
有一个好名字14 小时前
LeetCode跳跃游戏:思路与题解全解析
算法·leetcode·游戏
2501_9418705615 小时前
Python在高并发微服务数据同步与分布式事务处理中的实践与优化
leetcode
2501_9411477117 小时前
高并发微服务架构Spring Cloud与Dubbo在互联网优化实践经验分享
leetcode
Swift社区20 小时前
LeetCode 432 - 全 O(1) 的数据结构
数据结构·算法·leetcode
s***45320 小时前
Linux 下安装 Golang环境
linux·运维·golang