LINTCODE——吹气球

思路:dp[start][end] 表示从start到end的最大分数。当mid气球吹爆的时候,left和right变成相邻的气球,此时如果将mid吹爆再切割,则不方便转移,那么就以mid为分割点,先吹爆两侧的气球。mid最后吹爆:mid = nums[start-1]*nums[i]*nums[end+1];

参考

class Solution {
public:/** @param nums: A list of integer* @return: An integer, maximum coins*/int maxCoins(vector<int> &nums) {// write your code hereint n = nums.size();vector<vector<int> > dp(n+2,vector<int>(n+2 ,0));vector<vector<bool> > isVisited(n+2,vector<bool>(n+2 ,false));nums.insert(nums.begin(),1);nums.insert(nums.end(),1);int res = search(dp,isVisited,nums ,1,n);return res;}int search(vector<vector<int> > &dp,vector<vector<bool> > &isVisited , vector<int> &nums , int start , int end){if(isVisited[start][end])return dp[start][end];int res = 0;for(int i = start ; i <= end ;i++){int mid = nums[start-1]*nums[i]*nums[end+1];int left = search(dp,isVisited,nums,start,i-1);int right = search(dp,isVisited,nums,i+1,end);res = max(res,left + mid + right);}isVisited[start][end] =  true;dp[start][end] =  res;return res;}
};

LINTCODE——吹气球相关推荐

  1. LintCode 249. 统计前面比自己小的数的个数

    给定一个整数数组(下标由 0 到 n-1, n 表示数组的规模,取值范围由 0 到10000).对于数组中的每个 ai 元素,请计算 ai 前的数中比它小的元素的数量. 注意事项 We suggest ...

  2. LintCode: Max Tree

    题目 Given an integer array with no duplicates. A max tree building on this array is defined as follow ...

  3. 【LintCode: 3. 统计数字】算法题解析

    这是一道来自LintCode的算法题目,本文用C++来解答这道题,链接为: https://www.lintcode.com/problem/digit-counts/description 题目描述 ...

  4. LintCode 1.A+B的问题

    LintCode 1.A+B的问题 描述 给出两个整数 a 和 b , 求他们的和. 答案 public class Solution {/*** @param a: An integer* @par ...

  5. 关于爬楼梯的lintcode代码

    讲真的,这个我只会用递归去做,但是lintcode上面超时,所以只有在网上找了个动态规划的,虽然这个程序懂了,但是我觉得还是挺不容易的真正弄懂的话-- class Solution { public: ...

  6. lintcode: k Sum 解题报告

    K SUM My Submissions http://www.lintcode.com/en/problem/k-sum/ 题目来自九章算法 13% Accepted Given n distinc ...

  7. LintCode Longest Increasing Continuous Subsequence

    原题链接在这里:http://www.lintcode.com/en/problem/longest-increasing-continuous-subsequence/ 题目: Give an in ...

  8. lintcode 滑动窗口的最大值(双端队列)

    题目链接:http://www.lintcode.com/zh-cn/problem/sliding-window-maximum/# 滑动窗口的最大值 给出一个可能包含重复的整数数组,和一个大小为  ...

  9. leetcode 293.Flip Game(lintcode 914) 、294.Flip Game II(lintcode 913)

    914. Flip Game https://www.cnblogs.com/grandyang/p/5224896.html 从前到后遍历,遇到连续两个'+',就将两个加号变成'-'组成新的字符串加 ...

  10. LintCode 402: Continuous Subarray Sum

    LintCode 402: Continuous Subarray Sum 题目描述 给定一个整数数组,请找出一个连续子数组,使得该子数组的和最大.输出答案时,请分别返回第一个数字和最后一个数字的下标 ...

最新文章

  1. 计算机科学基础知识(六)理解栈帧
  2. 初学Java Web(8)——过滤器和监听器
  3. Java第三章 类和对象3.1+3.2
  4. 修改oracle用户资源限制,RHEL5中安装Oracle11gR2修改用户SHELL限制、环境配置、内核参数...
  5. 64位ie加载java失败_java-无法在AMD 64位平台上加载IA 32位.dll
  6. STM32F407+CubeMX-使用TIM产生PWM信号
  7. 2022年学C++好比49年入国军?
  8. springcloud 入门 4 (rebbon源码解读)
  9. 基础教程之Running Man奔跑
  10. 服务器里网页不显示图片,网页上看不到图片的解决方法步骤
  11. 那智机器人程序备份复原方法
  12. 主机当前没有管理网络冗余
  13. 出现了一些错误,请尝试重启Geforce Experience
  14. Log4j2漏洞发展历程及解决方案
  15. Centos Linux 和 CentOS Stream比较
  16. 女孩学医好还是学计算机好,女生选择学医好吗 学医有多累
  17. 最新30个漂亮的个人作品集网页设计案例
  18. 联想微型计算机设置从u盘启动,联想bios设置u盘启动教程
  19. 软考之下午题做题技巧
  20. 手机QQ2008下载地址

热门文章

  1. 999宝藏网ghostxp-sp2(圣诞+纯净版)
  2. 论文阅读:You said that?
  3. python爬虫qq音乐歌词_10、 在QQ音乐中爬取某首歌曲的歌词
  4. 数据库自增 ID 用完了会咋样?
  5. 越来越喜欢SQL语法了,Linq什么时候出来啊,半年了,咋没见更新了呢!真是望眼欲穿。...
  6. discuz模板制作中关于css使用的一些指导说明
  7. PTA 7-18 新浪微博热门话题
  8. SPI - 相关类型及其扩展
  9. 【禁用U盘】电脑windows7/10注册表、组策略禁用优盘;
  10. c#实现禁用u盘再启用