本文主要是介绍[动态规划]砸金蛋,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
d(i,j)为砸掉i+1到j-1之间的蛋的最大分数。
因此注意下面代码的d(i,j)是开区间,不包含端点i和j
Python代码
class Solution:def maxCoins(self, nums):nums = [1] + nums + [1]length = len(nums)dp = [[0] * length for _ in range(length)]for c in range(2, length):for j in range(length - c):for k in range(j + 1, j + c):dp[j][j + c] = max(dp[j][j + c], dp[j][k] + dp[k][j + c] + nums[j] * nums[k] * nums[j + c])return dp[0][length - 1]
这篇关于[动态规划]砸金蛋的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!