Golang | Leetcode Golang题解之第312题戳气球

题目:

题解:

Go 复制代码
func maxCoins(nums []int) int {
    n := len(nums)
    rec := make([][]int, n + 2)
    for i := 0; i < n + 2; i++ {
        rec[i] = make([]int, n + 2)
    }
    val := make([]int, n + 2)
    val[0], val[n+1] = 1, 1
    for i := 1; i <= n; i++ {
        val[i] = nums[i-1]
    }
    for i := n - 1; i >= 0; i-- {
        for j := i + 2; j <= n + 1; j++ {
            for k := i + 1; k < j; k++ {
                sum := val[i] * val[k] * val[j]
                sum += rec[i][k] + rec[k][j]
                rec[i][j] = max(rec[i][j], sum)
            }
        }
    }
    return rec[0][n+1]
}

func max(x, y int) int {
    if x > y {
        return x
    }
    return y
}
相关推荐
im_AMBER35 分钟前
Leetcode 98 从链表中移除在数组中存在的节点
c++·笔记·学习·算法·leetcode·链表
漫随流水2 小时前
leetcode算法(429.N叉树的层序遍历)
数据结构·算法·leetcode·二叉树
漫随流水2 小时前
leetcode算法(116.填充每个节点的下一个右侧节点指针)
数据结构·算法·leetcode·二叉树
行者游学2 小时前
gozero框架异步任务logx trace id
golang
Jeremy爱编码3 小时前
leetcode热题组合总和
算法·leetcode·职场和发展
努力学算法的蒟蒻3 小时前
day57(1.8)——leetcode面试经典150
算法·leetcode·面试
元亓亓亓4 小时前
LeetCode热题100--5. 最长回文子串--中等
linux·算法·leetcode
千金裘换酒4 小时前
LeetCode 环形链表+升级版环形链表
算法·leetcode·链表
源代码•宸4 小时前
Golang基础语法(go语言结构体、go语言数组与切片、go语言条件句、go语言循环)
开发语言·经验分享·后端·算法·golang·go
空空潍5 小时前
hot100-滑动窗口最大值(day11)
数据结构·c++·算法·leetcode