312.戳气球


  • 将戳气球转换到添加气球,记忆搜索
  • slove(i,j):在开区间(i,j)全部填满气球得到的最多硬币数,两端val[i]、val[j]
cpp 复制代码
class Solution {
public:
    vector<vector<int>> ans;
    vector<int> val;

    int slove(int left,int right){
        if(left>=right-1) return 0;
        if(ans[left][right]!=-1) return ans[left][right];

        
        for(int i=left+1;i<right;i++){
            int sum=val[left]*val[i]*val[right];
            sum+=slove(left,i);
            sum+=slove(i,right);
            ans[left][right]=max(ans[left][right],sum);
        }
        return ans[left][right];
    }

    int maxCoins(vector<int>& nums) {
        int n=nums.size();
        val.resize(n+2);
        for(int i=1;i<=n;i++){
            val[i]=nums[i-1];
        }
        val[0]=val[n+1]=1;

        ans.resize(n+2,vector<int>(n+2,-1));
        return slove(0,n+1);
    }
};
相关推荐
木井巳1 小时前
【递归算法】二叉搜索树中第K小的元素
java·算法·leetcode·深度优先·剪枝
铉铉这波能秀1 小时前
LeetCode Hot100 中 enumerate 函数的妙用(2026.2月版)
数据结构·python·算法·leetcode·职场和发展·开发
墨有6661 小时前
哈希表从入门到实现,一篇吃透!
数据结构·算法·哈希算法
We་ct1 小时前
LeetCode 228. 汇总区间:解题思路+代码详解
前端·算法·leetcode·typescript
AIpanda8881 小时前
如何借助AI销冠系统提升数字员工在销售中的成效?
算法
啊阿狸不会拉杆1 小时前
《机器学习导论》第 7 章-聚类
数据结构·人工智能·python·算法·机器学习·数据挖掘·聚类
木非哲1 小时前
机器学习--从“三个臭皮匠”到 XGBoost:揭秘 Boosting 算法的“填坑”艺术
算法·机器学习·boosting
小辉同志1 小时前
437. 路径总和 III
算法·深度优先·广度优先
笨笨阿库娅1 小时前
从零开始的算法基础学习
学习·算法
不想睡觉_2 小时前
优先队列priority_queue
c++·算法