动态规划
liangyy75
暂无
展开
-
LeetCode——63. Unique Paths II
1.题目大意以一个由0与1组成的矩阵为地图,1为障碍,从左上角到右下角有多少条路径。注意,只能到向下或者向右移动。2.解题方法以矩阵[[0, 0, 0], [0, 1, 0], [0, 0, 0]]为例,很显然,这个地图中从(0, 0)到(2, 2)只有两条路径。依据动态规划的思路,我们可以把从(0, 0)到(2, 2)的路径数量等同于(0, 0)到(2, 1)的路径数量以及(0, 0)到(...原创 2018-10-26 23:49:47 · 298 阅读 · 0 评论 -
LeetCode——198. House Robber
1.题目大意假如你是一名小偷,现在准备去偷一条街道上的所有房子里的钱。为了防止偷盗,房子间有防盗装置:只要你偷盗了邻近的两间房子就会惊动警察。请问,如何偷盗才有最大收获?输入代表房子钱财的数组,输出最大收获,如输入[1, 2, 3, 1]就应该输出4。2.解题思路以动态规划的思路来解决这个问题:可以将如何从[n1, n2, …, nk]这里面选择互不相邻的元素有最大的和的问题分为小问题,即...原创 2018-11-04 22:49:44 · 114 阅读 · 0 评论 -
LeetCode——152. Maximum Product Subarray
1.题目描述输入一个数字序列,找出拥有最大积的连续子序列。2.解题思路这道题在LeetCode上归类于动态规划,所以我们可以用动态规划的思路去解决它。首先是找出子问题:我们可以把找到一个拥有最大积的以下标为i的元素结尾的连续子序列的问题等同与找到下标为i的元素、拥有最大积的以下标为i-1的元素结尾的连续子序列与下标为i的元素的积中更大的那一个。如果数字序列为a,下标为0到n,而以元素a[i...原创 2018-11-08 20:31:38 · 102 阅读 · 0 评论 -
LeetCode——279. Perfect Squares
1.题目描述输入一个数字,令一些数的平方的和等于这个数字,找出数量最小的这样的数,返回最小数量。比如输入12,则有12=4+4+4,于是返回3。输入16,则有16=16,所以返回1。2.解题思路这道题在LeetCode上依然是动态规划的分类,所以使用动态规划可以很方便的解出这道题。首先是找出子问题,这里的子问题的分解可以是:C(n, i) = min(C(n - i * i, i - 1...原创 2018-11-15 23:14:51 · 118 阅读 · 0 评论 -
LeetCode——64. Minimum Path Sum
1.题目大意给出一个m×n的由非负数组成的二维数组,找到一条做左上角到右下角的路径,使得经过的路途上的数的和最小。这里的限制是路径只能向右或者向下。Example:Input:[[1,3,1],[1,5,1],[4,2,1]]Output: 7Explanation: Because the path 1→3→1→1→1 minimizes the sum.2.解题思路...原创 2018-12-01 12:28:24 · 115 阅读 · 0 评论 -
LeetCode——123. Best Time to Buy and Sell Stock III
1.题目大意给你一个代表股价变动数组a,每个元素a[i]就是股价在第i天的价位。假如你最多可以进行两次买入卖出,而且在买入前你必须卖出,设计一个算法取得最大的利润。2.解题思路2.1 简单的动态规划这道题还是在leetcode上还是动态规划的分组,所以我依然用动态规划的思路来解决。如果将C(i, j)视为在第i天到第j天的一次买卖的最大收益,取得最大利润则等价于max(C(0, i) + ...原创 2018-12-07 09:23:23 · 95 阅读 · 0 评论