![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划学习
abc15766228491
这个作者很懒,什么都没留下…
展开
-
leetcode 62. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2 输出: 3 解释: ...原创 2018-09-08 00:56:36 · 132 阅读 · 0 评论 -
leetcode 139. 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分...原创 2018-09-29 15:27:28 · 888 阅读 · 1 评论 -
leetcode 413. 等差数列划分
如果一个数列至少有三个元素,并且任意两个相邻元素之差相同,则称该数列为等差数列。例如,以下数列为等差数列:1, 3, 5, 7, 97, 7, 7, 73, -1, -5, -9以下数列不是等差数列。1, 1, 2, 5, 7数组 A 包含 N 个数,且索引从0开始。数组 A 的一个子数组划分为数组 (P, Q),P 与 Q 是整数且满足 0<=P<Q<N 。如果...原创 2018-10-07 10:15:01 · 462 阅读 · 0 评论 -
377. 组合总和 Ⅳ
给定一个由正整数组成且不存在重复数字的数组,找出和为给定目标正整数的组合的个数。示例:nums = [1, 2, 3]target = 4所有可能的组合为:(1, 1, 1, 1)(1, 1, 2)(1, 2, 1)(1, 3)(2, 1, 1)(2, 2)(3, 1)请注意,顺序不同的序列被视作不同的组合。因此输出为 7。本题是动态规划问题,拿上面的例子来说基本思路是...原创 2018-10-06 10:05:34 · 418 阅读 · 0 评论 -
leetcode 375. 猜数字大小 II
我们正在玩一个猜数游戏,游戏规则如下:我从 1 到 n 之间选择一个数字,你来猜我选了哪个数字。每次你猜错了,我都会告诉你,我选的数字比你的大了或者小了。然而,当你猜了数字 x 并且猜错了的时候,你需要支付金额为 x 的现金。直到你猜到我选的数字,你才算赢得了这个游戏。示例:n = 10, 我选择了8.第一轮: 你猜我选择的数字是5,我会告诉你,我的数字更大一些,然后你需要支付5块。...原创 2018-10-03 15:00:30 · 1591 阅读 · 0 评论 -
剑指offer 10 矩形覆盖
题目描述我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形。请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?思路:这个题是"斐波那契数列"的题目,借此机会总结一下"斐波那契"系:公式:f(n) = f(n-1) + f(n-2) 如果一个数列中的第n项的值为前两项的值的和,那么就是"斐波那契"了.适用:如果第n-1种情况中的任意一种情况都可以"扩展一下"到第...原创 2018-10-02 11:15:16 · 142 阅读 · 0 评论 -
leetcode 357. 计算各个位数不同的数字个数
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。示例:输入: 2 输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。思路:根据排列组合性质,如果是3位数那么,一共10个数字,第一个为1-9一共9个选择,第二个为0-9中去掉第一个数字,一共9个选择,第三个为...原创 2018-10-02 09:48:18 · 1170 阅读 · 0 评论 -
leetcode 120. 三角形最小路径和
给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3]]自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。说明:如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。解法1:从上...原创 2018-09-18 11:11:00 · 497 阅读 · 0 评论 -
leetcode 95. 不同的二叉搜索树 II
给定一个整数 n,生成所有由 1 … n 为节点所组成的二叉搜索树。示例:输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] 解释: 以上的输出对应以下 5 种不同结构的二叉搜索树: 1 3 ...原创 2018-09-17 17:17:58 · 882 阅读 · 0 评论 -
leetcode 64. 最小路径和
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。思路:入门动归,由于每个点的总和最小的数字只和这个数字的上边一个数字和左边一个数字...原创 2018-09-10 08:50:05 · 190 阅读 · 0 评论 -
leetcode 53. 最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。动态规划入门题目,但是已经在至少2家面试题中考到了,还是记录一下吧思路:设置一个数组v,v[i]表示到第i个的数字的时候,最大的连续的子数组和...原创 2018-09-16 23:29:16 · 116 阅读 · 0 评论 -
leetcode 96. 不同的二叉搜索树
给定一个整数 n,求以 1 … n 为节点组成的二叉搜索树有多少种?示例:输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 ...原创 2018-09-16 19:07:22 · 151 阅读 · 0 评论 -
leetcode 63. 不同路径 II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入: [ ...原创 2018-09-09 09:32:12 · 89 阅读 · 0 评论 -
leetcode 338. 比特位计数
给定一个非负整数 num。对于 0 ≤ i ≤ num 范围中的每个数字 i ,计算其二进制数中的 1 的数目并将它们作为数组返回。示例 1:输入: 2输出: [0,1,1]示例 2:输入: 5输出: [0,1,1,2,1,2]进阶:给出时间复杂度为O(n*sizeof(integer))的解答非常容易。但你可以在线性时间O(n)内用一趟扫描做到吗?要求算法的空间复杂度为O(...原创 2018-09-30 10:40:43 · 367 阅读 · 0 评论