DP动态规划
总结一些动态规划的算法题目
梅森上校
十多年软件行业从业经验,热爱技术,精于项目管理和研发团队建设。闲暇至于,喜欢欣赏音乐,看看电影;摆弄摆弄茶道,让身心得以调整和休息。
展开
-
JAVA算法:合并石子堆——JAVA版本算法(动态规划算法)
JAVA算法:合并石子堆——JAVA版本算法(动态规划算法)在一个圆形操场的四周摆放着n堆石子(n<= 100),现要将石子有次序地合并成一堆。规定每次只能选取相邻的两堆合并成新的一堆,并将新的一堆的石子数,记为该次合并的得分。请编写算法,读入石子堆数n及每堆的石子数(<=20)。选择一种合并石子的方案,使得做n-1次合并,得分的总和最小。例如:有4堆石子:4 4 5 9...原创 2019-06-01 23:55:07 · 1472 阅读 · 0 评论 -
LeetCode刷题:403. Frog Jump 青蛙过河问题JAVA算法设计
LeetCode刷题:403. Frog Jump 青蛙过河问题JAVA算法设计A frog is crossing a river. The river is divided into x units and at each unit there may or may not exist a stone. The frog can jump on a stone, but it must n...原创 2019-05-25 22:29:55 · 1280 阅读 · 0 评论 -
LeetCode刷题:741. Cherry Pickup —摘樱桃 动态规划
LeetCode刷题:741. Cherry Pickup —摘樱桃 动态规划原题链接:https://leetcode.com/problems/cherry-pickup/In a N x N grid representing a field of cherries, each cell is one of three possible integers.0 means the...原创 2019-05-03 22:03:08 · 1391 阅读 · 0 评论 -
JAVA算法:子集求和问题(Subset Sum Problem)
JAVA算法:子集求和问题(Subset Sum Problem)题目:给定一个正整数数组,和一个目标值,找出是否存在数组的一个子数组,使得子数组元素之和等于目标值。例如:给定数组{ 3, 2, 7, 1} 和目标值S = 6返回结果:True , 子数组为(3, 2, 1}问题分析:使用递归算法和动态规划算法两种算法来求解上述问题。递归算法对于数组中的每个元素...原创 2019-05-03 17:44:33 · 3308 阅读 · 0 评论 -
JAVA算法:求丑数—动态规划
JAVA算法:求丑数—动态规划(Ugly Numbers)丑数是唯一的因子是2、3或5的数字。序列1,2,3,4,5,6,8,9,10,12,15,…显示前11个丑数。按照惯例,1包括在内。给定一个数字n,你的任务就是找出第n个丑数。实例:输入:n=7输出:8输入:n=10输出:12输入:n=15输出:24输入:n=150输出:5832算法设计1...原创 2019-04-27 16:42:12 · 864 阅读 · 0 评论 -
LeetCode刷题:322. Coin Change
LeetCode刷题:322. Coin Change原题链接:https://leetcode.com/problems/coin-change/You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest ...原创 2019-04-08 00:23:37 · 262 阅读 · 0 评论 -
[DP解题] Maximum Sum Circular Subarray 理解 Kadane's algorithm
[DP解题] Maximum Sum Circular Subarray 理解 Kadane's algorithmLeetCode 918. Maximum Sum Circular Subarray原题链接:https://leetcode.com/problems/maximum-sum-circular-subarray/Given a circular array C of ...原创 2019-04-06 15:33:47 · 535 阅读 · 0 评论 -
[DP解题] 买卖股票的最佳时间问题之四
[DP解题] 买卖股票的最佳时间问题之四原题链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iv/Say you have an array for which the i-th element is the price of a given stock on day i.Design an algori...原创 2019-04-06 14:40:07 · 205 阅读 · 0 评论 -
[DP解题] 买卖股票的最佳时间问题之三
[DP解题] 买卖股票的最佳时间问题之三原题链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-iii/Say you have an array for which the ith element is the price of a given stock on day i. Design an algorit...原创 2019-04-06 13:08:27 · 237 阅读 · 0 评论 -
[DP解题] 买卖股票的最佳时间问题之二
[DP解题] 买卖股票的最佳时间问题之二原题链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock-ii/Say you have an array for which the ith element is the price of a given stock on day i.Design an algorit...原创 2019-04-06 11:45:54 · 221 阅读 · 0 评论 -
[DP解题] 买卖股票的最佳时间问题
[DP解题] 买卖股票的最佳时间问题原题链接:https://leetcode.com/problems/best-time-to-buy-and-sell-stock/Say you have an array for which the i-th element is the price of a given stock on day i.If you were only perm...原创 2019-04-06 10:08:59 · 424 阅读 · 0 评论 -
[DP解题] 完美平方数
[DP解题] 完美平方数原题链接:https://leetcode.com/problems/perfect-squares/Given a positive integer n, find the least number of perfect square numbers (for example, 1, 4, 9, 16, ...) which sum to n.Example ...原创 2019-04-06 01:11:12 · 438 阅读 · 0 评论 -
[DP题解] LeetCode: 174. Dungeon Game 地下城游戏
[DP题解] LeetCode: 174. Dungeon Game 地下城游戏:骑士解救公主原题链接:https://leetcode.com/problems/dungeon-game/这个题目的大意是:一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯...原创 2019-04-05 22:42:08 · 619 阅读 · 1 评论 -
[DP解题] Leetcode 198. House Robber
原题链接https://leetcode.com/problems/house-robber/You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping y...原创 2019-04-03 22:57:24 · 180 阅读 · 0 评论 -
[DP解题] 乘积最大子序列
[DP解题] 乘积最大子序列原题链接:https://leetcode.com/problems/maximum-product-subarray/[问题]Given an integer arraynums, find the contiguous subarray within an array (containing at least one number) which ha...原创 2019-04-03 20:40:54 · 348 阅读 · 0 评论 -
[DP题解] 拦截导弹问题
[DP题解] 拦截导弹问题[问题描述]某国为了防御敌国的导弹袭击,正在建设一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于等于前一发的高度。某天,雷达捕捉到敌国导弹来袭。由于该系统还在试用阶段,所以只用一套系统,因此有可能不能拦截所有的导弹。输入:第一行输入测试数据组数N(1<=N<=10)接下来一行输...原创 2019-03-30 19:41:21 · 561 阅读 · 0 评论 -
[DP题解] 最长递增子序列问题
[DP题解] 最长递增子序列问题[问题] 最长递增子序列 给出长度为N的数组,找出这个数组的最长递增子序列。 子序列的元素是递增的。 举例: 5 7 1 8 3 5 7 9, 最长递增子序列是 1 3 5 7 9 输入样例: 2 8 5 7 1 8 3 5 7 9 9 2 1 5 3 6 4...原创 2019-03-30 19:27:12 · 512 阅读 · 0 评论 -
[DP题解] 最长回文字符串问题
[DP题解] 最长回文字符串问题【问题】输入一个字符串,求出其中最长的回文子串。 子串的含义是:在原串中连续出现的字符串片段。回文的含义是:子串从左向右看和从右向左看是相同的,例如:abba,yyxyy。 在判断时忽略所有标点符号和空格,且忽略大小写,但是输出应保持原样。输入字符串的长度不超过5000,且占据单独一行。 应该输出最长的回文串。如果有多个,输出起始位置最靠左的一个。[算法设计...原创 2019-03-28 21:41:32 · 573 阅读 · 0 评论 -
[DP解题] 剪绳子
[DP解题] 剪绳子【问题】给定一根长度为n的绳子,请把绳子剪成m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],…,k[m]。请问k[0]* k[1] * … *k[m]可能的最大乘积是多少? 示例1: 输入:8 输出:18 解释:当绳子的长度是8时,可以把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。[算法分析]...原创 2019-03-26 22:15:21 · 411 阅读 · 0 评论 -
[DP解题] 切割钢锯条问题
[DP解题] 切割钢锯条问题假定:出售一段长度为 i 英寸的钢条的价格为Pi(i = 1, 2, …, )单位:$,钢条长度均为整英寸。下图为价格表。问题描述:给定一段长度为n英寸的钢条和一个价格表,求切割方案,使销售收益Rn最大。注:若长度为n英寸的钢条的价格Pn足够大,最优解可能就是完全不需要切割。考虑长度为4的情况,下图给出了4英寸钢条的所有切割方案。切成两段各...原创 2019-03-26 20:09:08 · 294 阅读 · 0 评论 -
算法刷题:LeetCode中常见的动态规划题目
动态规划刷题笔记53. Maximum Subarray原题链接地址:https://leetcode.com/problems/maximum-subarray/description/题目描述Find the contiguous subarray within an array (containing at least one number) which has the ...原创 2018-03-04 20:08:29 · 6555 阅读 · 0 评论 -
[DP题解] 求最大子数组和问题(问题拓展)
[DP题解] 求最大子数组和问题(问题拓展)问题描述最大连续子数组和对一个有n个元素的数组,求最大的连续子数组的和,并求其开始、结束下标。 数组的元素必然有正数也有负数才有意义:如果全是正数,那最大的子数组就是本身;如果全部为负数,那最大子数组就是空数组(返回最大和为0);如果数组的元素有正值有负值,那最大子数组的和一定为0或者正值。例如下面的数组:-2,1,-3,...原创 2019-03-17 12:07:24 · 1716 阅读 · 0 评论 -
[DP题解] 求最大子数组和问题
[DP题解] 求最大子数组和问题【题目】最大子数组和: 给定一个一维数组,返回子数组的最大累加和。* 例如,demo=[1,-2,3,5,-2,6,-1];所有子数组中,* [3,5,-2,6]可以累加出最大的和12,所以返回12。算法分析完整的JAVA代码如下:/* * 算法设计(DP算法) * */ public static int m...原创 2019-03-17 09:45:23 · 349 阅读 · 0 评论 -
[DP题解]矩阵最小路径和问题
[DP题解]矩阵最小路径和问题【题目】给定一个矩阵,例如demo,从左上角开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的路径和中最小的路径和。算法分析:这是一个典型的动态规划算法问题。分析如下:例如下图中的矩阵demo,1-3-1-0-6-1-0 的路径和最小,值为12.再看:例如:由此进行算法设计:...原创 2019-03-16 18:48:43 · 2826 阅读 · 0 评论