当前位置: 首页 > news >正文

leetcode-312. 戳气球

题目描述

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

现在要求你戳破所有的气球。戳破第 i 个气球,你可以获得 nums[i - 1] * nums[i] * nums[i + 1] 枚硬币。 这里的 i - 1 和 i + 1 代表和 i 相邻的两个气球的序号。如果 i - 1或 i + 1 超出了数组的边界,那么就当它是一个数字为 1 的气球。

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

示例 1:

输入:nums = [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

示例 2:

输入:nums = [1,5]
输出:10

思路

动态规划

参考1:. - 力扣(LeetCode)学习引入k的思路

参考2:. - 力扣(LeetCode)学习i,j,k各自for循环的范围

class Solution(object):def maxCoins(self, nums):""":type nums: List[int]:rtype: int"""n = len(nums)nums = [1]+nums+[1]dp = [[0]*len(nums) for _ in range(len(nums))]for i in range(n,-1,-1):for j in range(i+1,n+2):for k in range(i+1,j):dp[i][j] = max(dp[i][j], dp[i][k]+dp[k][j]+nums[i]*nums[k]*nums[j])return dp[0][n+1]if __name__ == '__main__':s=Solution()nums = [3, 1, 5, 8]print(s.maxCoins(nums))
http://www.lryc.cn/news/458592.html

相关文章:

  • 程序设计基础I-实验7 函数(编程题)
  • 使用3080ti配置安装blip2
  • vue3组件通信之defineEmits
  • rust gio-rs 挂载 samba 磁盘
  • 幸存者游戏(类)
  • SQL 中UPDATE 和 DELETE 语句的深入理解与应用
  • 在 Windows 上查找和结束占用特定端口占用程序,并杀死
  • sql server尽量避免滥用影响性能的标量函数
  • python画图|二维动态柱状图输出
  • CocosCreator 快速部署 TON 游戏:Web2 游戏如何使用 Ton支付
  • 生信初学者教程(二十八):单细胞数据标准化
  • 【OceanBase诊断调优】—— 错误码 5065 和 5066 的区别
  • Spring Boot RESTful API开发教程
  • <Rust>iced库(0.13.1)学习之番外:如何为窗口添加初始值?
  • Redis:list类型
  • 政府采购方式有哪些,竞争性谈判和竞争性磋商的区别
  • 【JavaScript】移动色块案例 实现一个可以拖动并且在拖动过程中会自动改变颜色的色块(JS 事件监听器)
  • [Linux#62][TCP] 首位长度:封装与分用 | 序号:可靠性原理 | 滑动窗口:流量控制
  • 【中短文】区分神经网络中 表征特征、潜层特征、低秩 概念
  • MySQL8.0环境部署+Navicat17激活教程
  • 每日读则推(十)——Elon Musk‘s speech on self-driving at Tesla‘s annual meeting
  • C++新特性——外部模板
  • 字节跳动青训营开始报名了!
  • 从SQL Server过渡到PostgreSQL:理解模式的差异
  • 刷题 排序算法
  • 【python3】tornado高性能编程
  • 构建高效购物推荐系统:SpringBoot实战
  • docker tar包安装 docker-26.1.4.tgz
  • Github 2024-10-12 Rust开源项目日报 Top10
  • Spring Cloud 微服务架构及其应用:设计、实现与优化