题目链接

难度: 困难       类型:分治

有 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画气球程序_LeetCode-python 312.戳气球相关推荐

  1. LeetCode·312.戳气球·动态规划

    312.戳气球 题目 示例 思路 首先必须要说明,这个题目的状态转移方程真的比较巧妙,所以说如果你看了题目之后完全没有思路恰恰是正常的.虽然最优答案不容易想出来,但基本的思路分析是我们应该力求做到的. ...

  2. Leetcode.312 戳气球

    题目链接 Leetcode.312 戳气球 题目描述 有 n个气球,编号为0到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums中. 现在要求你戳破所有的气球.戳破第 i 个气球,你可 ...

  3. 【LeetCode】312. 戳气球

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

  4. leetcode: 312. 戳气球

    312. 戳气球 来源:力扣(LeetCode) 链接: https://leetcode.cn/problems/burst-balloons/ 有 n 个气球,编号为0 到 n - 1,每个气球上 ...

  5. LeetCode 312.戳气球

    LeetCode 312.戳气球 有 n 个气球,编号为0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.戳破第 i 个气球,你可以获得 num ...

  6. Java实现 LeetCode 312 戳气球

    312. 戳气球 有 n 个气球,编号为0 到 n-1,每个气球上都标有一个数字,这些数字存在数组 nums 中. 现在要求你戳破所有的气球.每当你戳破一个气球 i 时,你可以获得 nums[left ...

  7. 用python画圆锥_用python画一幅美瞳,今日份来自程序员的浪漫

    如果说,眼睛是心灵的窗户,那么,美瞳就是心灵的彩窗,就像下图中这样. 而我们今天所要挑战的,就是用python画美瞳,而且是五分钟之内画三百副争奇斗艳.各领风骚.绝不重样的美瞳.作为这颗地球上最纯情的 ...

  8. python画正方形程序_画正方形-小学生 Python 入门课

    画正方形 还没开始学就要画正方形啊!会不会太难啊? 今天主要是教大家简化版的程序设计流程,其实和大家在日常生活中做的事情是一样的. 第一步:准备画画的工具包(纸和铅笔) 用Python代码就是导入工具 ...

  9. python画散点图程序-python画散点图

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 用散点图可以直观的查看数据的分布情况. matplotlib模块的pyplot有 ...

  10. python画同心圆程序_python turtle画4个同心圆方法!

    在python中如何使用循环结构画四个相切的圆 from turtle import * r=20 x,y=0,0 for i in range(4): if i==2: penup() goto(x ...

最新文章

  1. 关于ceph源码 backtrace 打印函数调用栈
  2. 报名 | 图灵奖得主John Hopcroft做客清华,与你畅谈信息革命!
  3. 转载 用python 获取当前时间
  4. DB2数据导入导出的小结
  5. set dict tuple 内置方法
  6. python xlrd_python读取excel(xlrd)
  7. (43)Verilog HDL 二分频设计
  8. 【2020】六家云厂商价格比较:AWS、阿里云、Azure、Google Cloud、华为云、腾讯云
  9. 华为手机微信小程序上传不了照片
  10. 灭了珊瑚虫,OOXX了SOFF,下一个是谁?
  11. elementui+vue+springboot企业员工工资考勤请假系统
  12. Leap Motion 之Unity 开发实战(一. 制作手的HandController)
  13. Greenplum实战--检查集群状态gpstate
  14. 跨平台工具详解:Netbiscuits (Kony solutions的竞争对手)
  15. 网络安全 - 信息收集
  16. 华硕无畏二合一笔记本 评测
  17. 上海财经应用统计考python_2020考研:上海财经大学应用统计考研复习指南
  18. 公理化体系降维打击1之补充(脱敏版本)再加俺老孙的故事(开头)
  19. android卡片层叠效果_【点播软件】哈文影视 — Android+iOS端全网追剧应用!
  20. Intel 82801H(ICH8) HD Audio Controller 的驱动问题

热门文章

  1. netsh命令操作防火墙
  2. C#编程,List Sort排序使用方法
  3. 专访风潮唱片杨锦聪:22年坚持终获格莱美肯定
  4. 游戏设计模式杂谈(一)
  5. 华为鸿蒙系统操作教程_华为鸿蒙系统开发初体验
  6. alexa排名的快速提升方法
  7. 实行STEAM校本课程体系的策略
  8. flash游戏(神影无踪-廖添丁) 强列推荐!!
  9. Spring Boot 整合定时任务完成 从0 到1
  10. Windows IIS服务器建站/网站配置全图文流程(新手必备!) 一条龙