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

网站制作难不难瑞安地区建设网站

网站制作难不难,瑞安地区建设网站,推广app平台,湛江网站建设方案推广题目 有 n 个气球,编号为0 到 n - 1,每个气球上都标有一个数字,这些数字存在数组 nums 中。 现在要求你戳破所有的气球。戳破第 i 个气球,你可以获得 nums[i - 1] * nums[i] * nums[i 1] 枚硬币。 这里的 i - 1 和 i 1 代表和…

题目

有 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

提示:

  • n == nums.length
  • 1 <= n <= 300
  • 0 <= nums[i] <= 100

解答

源代码

class Solution {public int[][] res;public int[] val;public int maxCoins(int[] nums) {val = new int[nums.length + 2];val[0] = 1;val[nums.length + 1] = 1;for (int i = 0; i < nums.length; i++) {val[i + 1] = nums[i];}res = new int[nums.length + 2][nums.length + 2];for (int i = 0; i < nums.length + 1; i++) {Arrays.fill(res[i], -1);}return solve(0, nums.length + 1);}// 把戳气球的过程倒过来,计算将开区间(left, right)之间填满气球能得到的最多硬币数public int solve(int left, int right) {// 此时(left, right)之间无法添加气球if (left >= right - 1) {return 0;}if (res[left][right] != -1) {return res[left][right];}for (int i = left + 1; i < right; i++) {int sum = val[left] * val[i] * val[right];sum += solve(left, i) + solve(i, right);res[left][right] = Math.max(res[left][right], sum);}return res[left][right];}
}

总结

每戳一个气球,会使本不相邻的两个气球变得相邻,所以导致后续难以处理。所以我们换个思路,把戳气球的过程倒过来看,变成每次插进一个气球,插进第一个气球时,我们肯定知道它的两边是数字为1的气球(超出数组边界),然后这个气球的左右两边进行递归,也分别当作插进左边和右边的第一个气球。这样以来,每次添加气球时,气球两边的数字就都能够确定了。

在每次递归时,因为当前区间内可以添加气球的位置可能不止一个,那么就需要不断对比得到能获得最大硬币数的一个。

http://www.15wanjia.com/news/159635.html

相关文章:

  • 网站备案幕布下载做某个网站接口违法
  • 格朗图手表网站wordpress页面内容显示默认
  • 衡阳市城市建设投资有限公司网站微分销平台登陆
  • 重庆企业网站开发方案dede网站迁移步骤
  • 怎样给公司做一个网站做推广什么是网络营销战略?网络营销战略的内容有哪些?
  • 天津网站建设多少钱门户网站开发 项目实施方案
  • 网站建设功能是什么太原网页设计培训班
  • 做企业网站需要什么资料微信网站怎么做的好处
  • 个人备案网站做商业网络设计与制作课程
  • 做吃穿住行网站酒泉建设局造价官网站
  • 网站建设的知名公司网站免费打包
  • 做微整的网站做网站西美花街
  • 网站建设规划任务书wordpress在页面里写文章
  • 网站接入服务 公司单一产品做网站
  • cdn如何做网站统计上海旧房翻新装修哪家好
  • 医院网站开发公司华梦服饰网站建设中
  • 网站栏目一般有哪些建设网站的网址
  • 网站有什么用做电商的几个网站吗
  • 阿里云做电影网站西安seo服务培训
  • wp企业网站模板莆田市网站建设
  • 制作网站软件排行榜专业餐饮vi设计公司
  • php网站后台制作教程温州网页模板建站
  • 网站数据库怎么做同步吗直播网站排名
  • 茂名模板建站代理网站建设公司浩森宇特
  • 贵州贵阳建网站的电话这几年做那个网站能致富
  • 加强信息管理 维护网站建设建网站需要钱吗
  • 多多返利网站建设程序广州微网站建设服务
  • 电商网站后台功能公司网站域名备案流程
  • 做平面设计应该在哪个网站求职常州经开区建设局网站
  • 新网站如何做推广软文开发一个电商app软件多少钱