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
}
相关推荐
林木辛15 分钟前
LeetCode热题 42.接雨水
算法·leetcode
kite01212 小时前
Gin + Zap 日志:构建高性能、结构化的应用日志系统
golang·gin·log·zap
黑菜钟3 小时前
代码随想录第七天|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 18.四数之和
c++·算法·leetcode
OxYGC3 小时前
[玩转GoLang] 5分钟整合Gin / Gorm框架入门
开发语言·golang·gin
pzx_0014 小时前
【LeetCode】14. 最长公共前缀
算法·leetcode·职场和发展
songx_994 小时前
leetcode10(跳跃游戏 II)
数据结构·算法·leetcode
向上的车轮5 小时前
基于go语言的云原生TodoList Demo 项目,验证云原生核心特性
开发语言·云原生·golang
hansang_IR6 小时前
【题解】洛谷 P4286 [SHOI2008] 安全的航线 [递归分治]
c++·数学·算法·dfs·题解·向量·点积
360智汇云7 小时前
k8s交互桥梁:走进Client-Go
golang·kubernetes·交互
qq_172805597 小时前
Go 装饰器模式学习文档
学习·golang·装饰器模式