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
}
相关推荐
无敌最俊朗@24 分钟前
力扣hot100 - 合并两个有序链表21
算法·leetcode·链表
墨染点香33 分钟前
LeetCode 刷题【168. Excel 表列名称】
算法·leetcode·职场和发展
Swift社区1 小时前
LeetCode 431 - 将 N 叉树编码成二叉树
算法·leetcode·职场和发展
2501_941805937 小时前
人工智能与大数据:驱动新时代的创新与决策
leetcode
橘颂TA8 小时前
【剑斩OFFER】算法的暴力美学——连续数组
c++·算法·leetcode·结构与算法
le serein —f12 小时前
用go实现-反转链表
leetcode·链表·golang
席万里14 小时前
关于Go的init函数执行顺序#黑魔法
开发语言·网络·golang
小年糕是糕手16 小时前
【C++】C++入门 -- 输入&输出、缺省参数
c语言·开发语言·数据结构·c++·算法·leetcode·排序算法
程序猿小白日记18 小时前
走向智能化:从编程语言看人工智能的未来
leetcode
喵了几个咪20 小时前
Golang微服务框架kratos实现Socket.IO服务
开发语言·微服务·golang