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
}
相关推荐
im_AMBER1 天前
Leetcode 99 删除排序链表中的重复元素 | 合并两个链表
数据结构·笔记·学习·算法·leetcode·链表
源代码•宸1 天前
Leetcode—1123. 最深叶节点的最近公共祖先【中等】
经验分享·算法·leetcode·职场和发展·golang·dfs
alphaTao1 天前
LeetCode 每日一题 2026/1/5-2026/1/11
算法·leetcode
黎雁·泠崖1 天前
二叉树知识体系全梳理:从基础到进阶一站式通关
c语言·数据结构·leetcode
源代码•宸1 天前
Golang基础语法(go语言error、go语言defer、go语言异常捕获、依赖管理、Go Modules命令)
开发语言·数据库·后端·算法·golang·defer·recover
Cx330❀1 天前
【优选算法必刷100题】第43题(模拟):数青蛙
c++·算法·leetcode·面试
妹妹够啦1 天前
1. 两数之和
数据结构·算法·leetcode
-曾牛1 天前
Yak:专注安全能力融合的编程语言快速入门
安全·网络安全·golang·渗透测试·编程语言·yakit·yak
bruce_哈哈哈1 天前
go语言初认识
开发语言·后端·golang
云里雾里!1 天前
LeetCode 744. 寻找比目标字母大的最小字母 | 从低效到最优的二分解法优化
算法·leetcode