
动态规划
Z_Y_D_
这个作者很懒,什么都没留下…
展开
-
LeetCode 62 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解释:...原创 2018-10-23 15:27:53 · 167 阅读 · 0 评论 -
887. 鸡蛋掉落 HARD难度
解题思路参考链接:https://github.com/Shellbye/Shellbye.github.io/issues/42你将获得K个鸡蛋,并可以使用一栋从1到N共有 N层楼的建筑。每个蛋的功能都是一样的,如果一个蛋碎了,你就不能再把它掉下去。你知道存在楼层F ,满足0 <= F <= N 任何从高于 F的楼层落下的鸡蛋都会碎,从F楼...原创 2019-08-08 15:57:42 · 249 阅读 · 0 评论 -
LintCode 20. 骰子求和
https://www.lintcode.com/problem/dices-sum/description扔n个骰子,向上面的数字之和为S。给定n,请列出所有可能的S值及其相应的概率。Example样例 1:输入:n = 1输出:[[1, 0.17], [2, 0.17], [3, 0.17], [4, 0.17], [5, 0.17], [6, 0.17]]解释...原创 2019-08-06 01:23:36 · 241 阅读 · 0 评论 -
LeetCode 140. 单词拆分 II
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,在字符串中增加空格来构建一个句子,使得句子中所有的单词都在词典中。返回所有这些可能的句子。说明:分隔时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入:s = "catsanddog"wordDict = ["cat", "cats", "and", "sand", "dog"]输...原创 2019-07-12 00:38:39 · 181 阅读 · 0 评论 -
LeetCode 139. 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被...原创 2019-07-11 15:26:45 · 198 阅读 · 0 评论 -
LeetCode 647. 回文子串
给定一个字符串,你的任务是计算这个字符串中有多少个回文子串。具有不同开始位置或结束位置的子串,即使是由相同的字符组成,也会被计为是不同的子串。示例 1:输入: "abc"输出: 3解释: 三个回文子串: "a", "b", "c".示例 2:输入: "aaa"输出: 6说明: 6个回文子串: "a", "a", "a", "aa", "aa", "aaa".注意:输...原创 2019-07-05 21:56:58 · 233 阅读 · 0 评论 -
LEETCODE 300. 最长上升子序列
给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是[2,3,7,101],它的长度是 4。说明:可能会有多种最长上升子序列的组合,你只需要输出对应的长度即可。你算法的时间复杂度应该为O(n2) 。进阶: 你能将算法的时间复杂度降低到O(n log n) 吗?来源:力扣(...原创 2019-07-04 18:39:08 · 253 阅读 · 0 评论 -
LeetCode 91. 解码方法
一条包含字母A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释:它可以解码为 "AB"(1 2)或者 "L"(12)。示例2:输入: "226"输出: 3解释:它可以解码为 "BZ" (2 26), "...原创 2019-07-02 21:27:18 · 225 阅读 · 0 评论 -
LeetCode 343. 整数拆分
给定一个正整数n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 ×3 ×4 = 36。说明: 你可以假设n不小于 2 且不大于 58。来源:力扣(LeetCode)...原创 2019-06-15 16:58:38 · 495 阅读 · 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。思路一:递归 DFS ...原创 2019-06-07 18:16:12 · 167 阅读 · 0 评论 -
leetcode72 编辑距离
给定两个单词word1和word2,计算出将word1转换成word2所使用的最少操作数。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rorse (将 'h' 替换为 'r')rorse -> ros...原创 2019-05-09 20:57:25 · 198 阅读 · 0 评论 -
剑指off 正则表达式匹配
请实现一个函数用来匹配包括'.'和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但是与"aa.a"和"ab*a"均不匹配思路:找到匹配串和模式串之间状态转移的关系。1.递归 2.dp方法1:递归/* 讨...原创 2019-05-04 14:45:48 · 211 阅读 · 0 评论 -
最大子数组 II
题目链接:https://www.lintcode.com/problem/maximum-subarray-ii/description给定一个整数数组,找出两个不重叠子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。Example例1:输入:[1, 3, -1, 2, -1, 2]输出:7解释:最大的子数组为 [1, 3] 和...原创 2019-04-09 15:30:56 · 179 阅读 · 0 评论 -
最大子数组 III
题目链接:https://www.lintcode.com/problem/maximum-subarray-iii/description给定一个整数数组和一个整数k,找出k个不重叠子数组使得它们的和最大。每个子数组的数字在数组中的位置应该是连续的。返回最大的和。Example样例1输入: List = [1,2,3]k = 1输出: 6说明: 1 + ...原创 2019-04-09 14:49:37 · 221 阅读 · 0 评论 -
LeetCode 322. 零钱兑换 完全背包问题
给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。示例1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1说明...原创 2019-04-07 01:36:57 · 1840 阅读 · 2 评论 -
188. 买卖股票的最佳时机 IV hard
给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成k笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入: [2,4,1], k = 2输出: 2解释: 在第 1 天 (股票价格 = 2) 的时候买入,在第 2 天 (股票价格 = 4) 的时候卖出,这笔交易所能...原创 2019-03-07 21:34:35 · 124 阅读 · 0 评论 -
123. 买卖股票的最佳时机 III hard
给定一个数组,它的第i个元素是一支给定的股票在第i天的价格。设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例1:输入: [3,3,5,0,0,3,1,4]输出: 6解释: 在第 4 天(股票价格 = 0)的时候买入,在第 6 天(股票价格 = 3)的时候卖出,这笔交易所能获...原创 2019-03-07 16:08:09 · 140 阅读 · 0 评论 -
LeetCode 63 不同路径II 动态规划(自底向上)求解
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[ ...原创 2018-10-24 18:08:56 · 291 阅读 · 0 评论 -
221. 最大正方形
在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/maximal-square著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注...原创 2019-08-06 22:07:56 · 185 阅读 · 0 评论