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
}
相关推荐
py有趣9 分钟前
力扣热门100题之和为K的子数组
数据结构·算法·leetcode
py有趣2 小时前
力扣热门100题之编辑距离
数据结构·算法·leetcode
水木流年追梦3 小时前
CodeTop 热门题目汇总hot300题
算法·leetcode·职场和发展
f3iiish4 小时前
2078. 两栋颜色不同且距离最远的房子 力扣
算法·leetcode
sheeta19985 小时前
LeetCode 每日一题笔记 日期:2026.04.21 题目:1722. 执行交换操作后的最小汉明距离
笔记·算法·leetcode
贺小涛5 小时前
python和golang进程、线程、协程区别
java·python·golang
玛丽莲茼蒿6 小时前
Leetcode hot100 买卖股票的最佳时机【简单】
算法·leetcode·职场和发展
阿Y加油吧6 小时前
两道 LeetCode 题的复盘笔记:从「只会暴力」到「懂优化」
笔记·算法·leetcode
We་ct6 小时前
LeetCode 300. 最长递增子序列:两种解法从入门到优化
开发语言·前端·javascript·算法·leetcode·typescript
迷茫运维路6 小时前
云枢运维管理系统
运维·golang·kubernetes·gin·casbin