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_AMBER22 分钟前
Leetcode 78 识别数组中的最大异常值 | 镜像对之间最小绝对距离
笔记·学习·算法·leetcode
LYFlied1 小时前
【每日算法】LeetCode 25. K 个一组翻转链表
算法·leetcode·链表
LYFlied4 小时前
【每日算法】LeetCode 19. 删除链表的倒数第 N 个结点
算法·leetcode·链表
zfj3215 小时前
vscode是js开发的,为什么能支持golang java等各种语言开发
javascript·vscode·golang
努力学算法的蒟蒻5 小时前
day35(12.16)——leetcode面试经典150
算法·leetcode·面试
serendipity_hky6 小时前
【go语言 | 第5篇】channel——多个goroutine之间通信
开发语言·后端·golang
LYFlied6 小时前
【每日算法】LeetCode 234. 回文链表详解
算法·leetcode·链表
源代码•宸6 小时前
分布式缓存-GO(简历写法、常见面试题)
服务器·开发语言·经验分享·分布式·后端·缓存·golang
刃神太酷啦6 小时前
C++ list 容器全解析:从构造到模拟实现的深度探索----《Hello C++ Wrold!》(16)--(C/C++)
java·c语言·c++·qt·算法·leetcode·list