
动态规划
Jerry-Rulai
这个作者很懒,什么都没留下…
展开
-
887. 鸡蛋掉落
你将获得 K 个鸡蛋,并可以使用一栋从 1 到 N 共有 N 层楼的建筑。 每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。 你知道存在楼层 F ,满足 0 <= F <= N 任何从高于 F 的楼层落下的鸡蛋都会碎,从 F 楼层或比它低的楼层落下的鸡蛋都不会破。 每次移动,你可以取一个鸡蛋(如果你有完整的鸡蛋)并把它从任一楼层 X 扔下(满足 1 <= X &l...原创 2019-03-01 17:59:47 · 286 阅读 · 0 评论 -
712. 两个字符串的最小ASCII删除和
给定两个字符串s1, s2,找到使两个字符串相等所需删除字符的ASCII值的最小和。 示例 1: 输入: s1 = “sea”, s2 = “eat” 输出: 231 解释: 在 “sea” 中删除 “s” 并将 “s” 的值(115)加入总和。 在 “eat” 中删除 “t” 并将 116 加入总和。 结束时,两个字符串相等,115 + 116 = 231 就是符合条件的最小和。 示例 2: 输...原创 2019-02-27 11:48:47 · 155 阅读 · 0 评论 -
62. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不超过 100。 示例 1: 输入: m = 3, n = 2 输出: 3 解释: 从左上角开始,总...原创 2019-01-20 15:32:11 · 103 阅读 · 0 评论 -
70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1 阶 + 1 阶 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1 阶 + 1 阶 + 1 阶 1 阶 + 2 阶 2 阶 + 1 阶 ...原创 2019-01-20 16:32:08 · 106 阅读 · 0 评论 -
121. 买卖股票的最佳时机
给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 注意利润不能是...原创 2019-01-21 11:20:02 · 105 阅读 · 0 评论 -
剪绳子
题目: 给你一根长度为n绳子,请把绳子剪成m段(m、n都是整数,n&gt;1并且m≥1)。 每段的绳子的长度记为k[0]、k[1]、……、k[m]。k[0]k[1]…*k[m]可能的最大乘 积是多少?例如当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段, 此时得到最大的乘积18。 思路: 动态规划: 把最优解储存在一个product数组里,设f(n)为长度为n的绳子的最大乘积(n&gt;...原创 2019-02-13 17:26:25 · 134 阅读 · 0 评论 -
152. 乘积最大子序列
给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。 思路: 这是求连续子集的最大乘积问题 保持一个imax记录当前的最大值,imin记录当前的最小...原创 2019-02-15 20:32:35 · 130 阅读 · 0 评论 -
47. 全排列 II
首先介绍一下全排列算法 假设有一数列1,2,3,4 那么1,2,3,4的全排列 perm({1,2,3,4})=1perm({2,3,4})+2perm({1,3,4})+3perm({1,2,4})+4perm(1,2,3) 那么我们只要将每个数,与第一个数交换不就可以得到下一个序列了吗? 比如{1,2,3,4}第一个与第二个数交换,那么不就得到2 {1,3,4}了,接下来我们用一个实际的例子说...原创 2019-02-16 14:19:39 · 128 阅读 · 0 评论 -
910. 最小差值 II
示例 1: 输入:A = [1], K = 0 输出:0 解释:B = [1] 示例 2: 输入:A = [0,10], K = 2 输出:6 解释:B = [2,8] 示例 3: 输入:A = [1,3,6], K = 3 输出:3 解释:B = [4,6,3] 提示: 1 &lt;= A.length &lt;= 10000 0 &lt;= A[i] &lt;= 10000 0 &lt;= K.原创 2019-02-16 18:45:31 · 160 阅读 · 0 评论 -
120. 三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 说明: 如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。 思路: 动态规划,从下往上,把每层从下往上...原创 2019-03-08 22:00:42 · 97 阅读 · 0 评论