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
}
相关推荐
白毛大侠35 分钟前
理解 Go 接口:eface 与 iface 的区别及动态性解析
开发语言·网络·golang
6Hzlia3 小时前
【Hot 100 刷题计划】 LeetCode 42. 接雨水 | C++ 动态规划与双指针题解
c++·算法·leetcode
abant24 小时前
leetcode 114 二叉树变链表
算法·leetcode·链表
so2F32hj25 小时前
一款Go语言Gin框架DDD脚手架,适合快速搭建项目
开发语言·golang·gin
XiYang-DING5 小时前
【LeetCode】 225.用队列实现栈
算法·leetcode·职场和发展
派大星~课堂5 小时前
【力扣-148. 排序链表】Python笔记
python·leetcode·链表
小白菜又菜6 小时前
Leetcode 657. Robot Return to Origin
python·leetcode·职场和发展
_深海凉_6 小时前
LeetCode热题100-环形链表
算法·leetcode·链表
memcpy06 小时前
LeetCode 904. 水果成篮【不定长滑窗+哈希表】1516
算法·leetcode·散列表
老四啊laosi6 小时前
[双指针] 8. 四数之和
算法·leetcode·四数之和