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
}
相关推荐
sin_hielo5 分钟前
leetcode 3606
数据结构·算法·leetcode
不会写DN1 小时前
fmt 包中的所有 Print 系列函数
开发语言·后端·golang·go
电子_咸鱼1 小时前
常见面试题——滑动窗口算法
c++·后端·python·算法·leetcode·哈希算法·推荐算法
萌>__<新2 小时前
力扣打卡每日一题————最小覆盖子串
数据结构·算法·leetcode·滑动窗口·哈希表
ada7_2 小时前
LeetCode(python)230.二叉搜索树中第k小的元素
python·算法·leetcode·链表
小明的小名叫小明2 小时前
Go从入门到精通(28) -再谈GMP和starvation
网络·golang
长安er3 小时前
LeetCode 83/237/82 链表删除问题-盒子模型
数据结构·算法·leetcode·链表·力扣
Kiri霧4 小时前
Go包基础与使用指南
开发语言·后端·golang
重生之后端学习4 小时前
56. 合并区间
java·数据结构·后端·算法·leetcode·职场和发展
leoufung4 小时前
LeetCode 74. Search a 2D Matrix
数据结构·算法·leetcode