题目链接

难度: 困难       类型:分治

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

现在要求你戳破所有的气球。每当你戳破一个气球 i 时,你可以获得 nums[left] * nums[i] * nums[right] 个硬币。 这里的 left 和 right 代表和 i 相邻的两个气球的序号。注意当你戳破了气球 i 后,气球 left 和气球 right 就变成了相邻的气球。

求所能获得硬币的最大数量

示例

输入: [3,1,5,8]

输出: 167

解释:

nums = [3,1,5,8] --> [3,5,8] --> [3,8] --> [8] --> [ ]

coins = 3*1*5 + 3*5*8 + 1*3*8 + 1*8*1 = 167

解题思路

设dp[i][j]表示错破i到j之间的气球能得到的最大硬币数量。

假设k是最后一个被戳破的气球,i

那么 dp[i][j] = max(dp[i][k]+dp[k][j] + nums[i]*nums[k]*nums[j])

代码实现

def maxCoins(iNums):

nums = [1] + [i for i in iNums if i > 0] + [1]

n = len(nums)

dp = [[0]*n for _ in range(n)]

for k in range(2, n):

for left in range(0, n - k):

right = left + k

for i in range(left + 1,right):

dp[left][right] = max(dp[left][right], nums[left] * nums[i] * nums[right] + dp[left][i] + dp[i][right])

return dp[0][n - 1]

python turtle画气球-LeetCode-python 312.戳气球相关推荐

  1. python turtle画椭圆-【python turtle如何画椭圆】

    python turtle画4个同心圆方法 from turtle import * def Circle(radius,angle,length): for i in range(length): ...

  2. 【LeetCode】312. 戳气球

    312. 戳气球(困难) 解法一:动态规划 首先看一个区间: 区间(i,j) 是一个开区间,因为我们只能戳爆 i 和 j 之间的气球,不能戳爆索引为 i 和 j 的气球. 我们不妨考虑该区间内被戳爆的 ...

  3. 用python画气球程序_LeetCode-python 312.戳气球

    题目链接 难度: 困难       类型:分治 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.每当你戳破一个气球 i 时, ...

  4. python turtle画熊-用Python Turtle 画可爱的熊猫

    import turtle as t # 设置初始画布和画笔 t.setup(width=1450, height=1450, startx=0, starty=0) t.speed(0) t.rt( ...

  5. python turtle循环,python实现画循环圆 python turtle画4个同心圆方法

    在python中如何使用循环结构画四个相切的圆 利用循环绘制复杂图形 python题? 循环画圆,圆的圆心在同一个圆上,同时用不同的渐进颜色 要用到三角函数算圆心 python怎么实现画圆功能 pyt ...

  6. python turtle画熊-Python turtle画图库画姓名实例

    *****看一下我定义的change()和run()函数****** 绘图坐标体系: 作用:设置主窗体的大小和位置 ? 1 turtle.setup(width, height, startx, st ...

  7. 如何用python画一个心形图_求问怎样用python/python turtle画“心”

    展开全部 python turtle画52614个同心圆方法 import turtle #draw first circle turtle.penup() turtle.goto(0,-200) t ...

  8. python turtle画房子详细解释_[宜配屋]听图阁

    我就废话不多说了,直接上代码吧! import turtle t=turtle.Turtle() turtle.Turtle().screen.delay(0) tleft=turtle.Turtle ...

  9. python turtle 椭圆_【python turtle如何画椭圆】

    python turtle画4个同心圆方法 from turtle import * def Circle(radius,angle,length): for i in range(length): ...

  10. python创意turtle作品大白-Python turtle 画个大白

    今天用Python Turtle画个大白吧.效果图如下: Python画大白def bai(): #tracer(False) speed(0) pensize(5) color('black','w ...

最新文章

  1. 什么是ATM(异步传输模式)?—Vecloud微云
  2. C#委托使用详解(Delegates)
  3. 在MAC下安装一些软件时提示来自身份不明开发者
  4. Java BigDecimal longValueExact()方法与示例
  5. webpack指定第三方模块的查找路径
  6. 类的继承 设计模式
  7. HDU 5281 Senior's Gun 贪心
  8. 【C#】通过Devcon.exe控制设备管理器中设备的启停
  9. php网站服务器工具,PHP网站服务器管理软件LuManager1.1.9发布
  10. 关于Matlab取整函数round的用法
  11. 从编程角度阐述有限元最佳入门方法:以Abaqus 和OpenSees 为例
  12. ubuntu dns 解析失败
  13. 12.利用API抓取数据
  14. Unity应该怎样学习
  15. 如何缓解百度网盘限速问题
  16. 理想国pandas练习题4
  17. windows通知栏中显示 微信等应用软件 的通知
  18. Android中模拟点击软件的实现原理探究
  19. 【参赛作品12】基于华为云鲲鹏弹性云服务器部署openGauss数据库-实验
  20. FireFox火狐浏览器设置不加载图片

热门文章

  1. 动态链接到MFC的DLL(转)
  2. WSS(MOSS)如何修改Rich文本编辑器的宽度
  3. Diango 模板层
  4. 利用eigen库简单实现矩阵功能
  5. python PIL/Pillow图像扩展、复制、粘贴处理
  6. javap查看class文件
  7. Lombok(1.14.8) - @Synchronized
  8. 神奇的HTML5离线存储(应用程序缓存)
  9. ActiveMQ 入门
  10. python对文件的读写操作方式-python 文件读写操作