312戳气球

作者: poteman | 来源:发表于2019-07-03 13:53 被阅读0次
    def maxCoins(self, nums):
        """
        :type nums: List[int]
        :rtype: int
        """
        # 状态res[left][right]代表把left到right之间的气球戳破(不包括left和right)能获得的最大收益
        # 转移方程: res[left][right] = max(res[left][k] + res[k][right] + nums[left] * nums[k] * nums[right])
        # k从left+1到right(不包括right)
        # 这题的特点是转移方程不是一个简单的公式,而是for循环求max获得的
        
        if len(nums) == 0:
            return 0
        if len(nums) == 1:
            return nums[0]

        n = len(nums) + 2

        res = []
        for i in range(n):
            temp = [0] * n
            res.append(temp)

        temp = nums
        nums = [1]
        nums.extend(temp)
        nums.append(1)

        for delta in range(2, n):
            for left in range(n - delta):
                right = left + delta
                tmp = []
                for k in range(left + 1, right):
                    tmp.append(res[left][k] + res[k][right] + nums[left] * nums[k] * nums[right])
                res[left][right] = max(tmp)
        return res[0][n - 1]

相关文章

  • 312戳气球

  • 312.戳气球

    include include using namespace std; ...

  • Leetcode 312 戳气球

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

  • 312. 戳气球

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

  • 312. 戳气球

    解法

  • LeetCode 311-340

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

  • 矩阵链乘法

    887鸡蛋掉落 312戳气球 132分割回文串 375猜数字大小

  • LeetCode312: 戳气球

    【思路】使用动态规划一开始显示正向思维:选择一个气球戳破,将问题转换为左问题和右问题。但此时左右问题不是独立的。这...

  • 经典动态规划:戳气球

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

  • 力扣(LeetCode) - 312 戳气球

    本题用记忆化搜索或者动态规划 零、闲聊 找完工作有一个多月了,一直在咸鱼。11月了,不能再继续这样了。编程题还要继...

网友评论

    本文标题:312戳气球

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