
LeetCode 动态规划
假如子弹换成糖果
混。
展开
-
【LeetCode】279. 完全平方数
题目描述给定正整数n,找到若干个完全平方数(比如1, 4, 9, 16, ...)使得它们的和等于n。你需要让组成和的完全平方数的个数最少。示例1:、输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.思路dp[n]表示以n为和的最少平方的和的个数(所求)...原创 2018-10-18 15:53:42 · 1746 阅读 · 0 评论 -
【LeetCode】97. 交错字符串
题目描述给定三个字符串 s1, s2, s3, 验证 s3 是否是由 s1 和 s2 交错组成的。示例 1:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbcbcac"输出: true示例 2:输入: s1 = "aabcc", s2 = "dbbca", s3 = "aadbbbaccc"输出: false 思路原创 2018-10-19 16:46:51 · 235 阅读 · 0 评论 -
【LeetCode】72. 编辑距离
题目描述给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符 删除一个字符 替换一个字符示例 1:输入: word1 = "horse", word2 = "ros"输出: 3解释: horse -> rorse (将 'h' 替换为 'r')rorse -&g...原创 2018-10-16 20:22:19 · 257 阅读 · 0 评论 -
【LeetCode】62. 不同路径
题目描述一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: ...原创 2018-10-09 20:07:17 · 204 阅读 · 0 评论 -
【LeetCode】115. 不同的子序列
题目描述给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是)示例 1:输入: S = "rabbbit", T = "rabbit"输出: 3解释:如下图所示, 有 3 ...原创 2018-10-17 15:15:59 · 173 阅读 · 0 评论 -
【LeetCode】44. 通配符匹配
题目描述https://leetcode-cn.com/problems/wildcard-matching/description/ 思路(与10. 正则表达式匹配类似)dp[ i ][ j ] 表示 s 的前 i 个字符与 p 的前 j 个字符的匹配结果。先写边界情况,再写 dp 方程,若 p[ j - 1] 为 * ,dp[ i ][ j ] = dp[ i - 1][ ...原创 2018-10-17 19:04:58 · 224 阅读 · 0 评论 -
【LeetCode】5. 最长回文子串
题目描述给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb" 思路dp[i][j]表述的意思是字符串s从下标i到下边j的字符串是否为回文字符串,易知若s[i]等于s[j]且dp[i+1]...原创 2019-02-06 00:05:46 · 140 阅读 · 0 评论 -
【LeetCode】32. 最长有效括号
题目描述给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()" 方法一:栈用栈 p 存储还未匹配的 ( 的下标,flag 用来标记 ( 的位置;当 s[ i ] 为 ...原创 2018-10-18 17:15:59 · 304 阅读 · 0 评论 -
【LeetCode】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。思路本题...原创 2019-05-08 10:55:36 · 309 阅读 · 0 评论