美文网首页
312.戳气球

312.戳气球

作者: 李伟13 | 来源:发表于2020-09-18 18:48 被阅读0次

include <iostream>

include <vector>

using namespace std;

class Solution {
public:
int maxCoins(vector<int>& nums) {
if (nums.empty()) {
return 0;
}
int len = nums.size();
vector<vector<int> > dp(len, vector<int>(len, 0));
for (int i = 0; i < len; i++) {
dp[i][i] = nums[i];
}

    for (int wide = 2; wide <= len; wide++) {
        for (int i = 0; i + wide - 1 < len; i++) {
            int j = i + wide - 1;
            for(int m = i; m <= j; m++) {
                if (m == i) {
                    dp[i][j] = max(dp[i][j], (m == 0 ? 1 : nums[m - 1]) * ((j + 1 > len - 1) ? 1 : nums[j + 1]) + dp[m + 1][j]);
                }
                else if (m == j) {
                    dp[i][j] = max(dp[i][j], (m == len - 1 ? nums[i - 1] : 1) * ((j + 1 > len - 1) ? 1 : nums[j + 1]) + dp[m + 1][j]);
                }
                else if(m == j) {
                    dp[i][j] = max(dp[i][j], dp[i][m - 1] + nums[m - 1] * dp[j][j]);
                }
                else {
                    dp[i][j] = max(dp[i][j], dp[i][m] + dp[m + 1][j] + nums[m] * nums[m - 1] * nums[m + 1]);
                }
            }
        }
    }
    return dp[0][len - 1];
}

};

int main() {
Solution* s = new Solution();
vector<int> nums = {7, 2, 9};
int maxcoin = s -> maxCoins(nums);
cout << maxcoin << endl;
// vector<int> a;
// if (a.empty()) {
// cout << "a is empty" << endl;
// }
}

相关文章

  • LeetCode 311-340

    312. 戳气球[https://leetcode-cn.com/problems/burst-balloons/...

  • 312.戳气球

    include include using namespace std; ...

  • 312. 戳气球

    有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所...

  • 312. 戳气球

    解法

  • 经典动态规划:戳气球

    读完本文,你可以去力扣拿下如下题目: 312.戳气球[https://leetcode-cn.com/proble...

  • 戳气球

    今天,外面下着毛毛雨,而我和小雪就在家里玩戳气球的游戏,看看谁能先把那个被绑在线上的大气球戳破。 ...

  • 戳气球

    开区间(i,j)最左边索引 i,最右边索引 j。这里说开区间的意思是,我们只能戳爆 i 和 j 之间的气球,i 和...

  • 312戳气球

  • Leetcode 312 戳气球

    戳气球 题目 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现...

  • bocca气球布丁 这个东西又好玩又好吃,要拿牙签去戳它,一戳气球就会破,往布丁里倒上焦糖酱,吃到嘴里奶香四溢。口...

网友评论

      本文标题:312.戳气球

      本文链接:https://www.haomeiwen.com/subject/xqojyktx.html