![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
动态规划
文章平均质量分 56
Jessio
这个作者很懒,什么都没留下…
展开
-
leetcode习题集——10. 正则表达式匹配
题目给定一个字符串 (s) 和一个字符模式 §。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符。‘*’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。示例 1:输入:s = “aa”p = “a”...翻译 2019-03-10 20:49:57 · 309 阅读 · 0 评论 -
[面试真题]-[拼多多]-搭积木
题目有N个积木,变长为Li,每个高度为1,每个重量为Wi要求:严格保证变长大的叠在边长小的上面每个积木只能承受自身大小7倍以内的重量,所以其上所有积木重量综合不能超过这么多问最高能搭多高的积木输入:10 # 积木个数N1 2 3 4 5 6 7 8 9 10 # 各积木边长1 1 1 1 1 1 1 1 1 10 # 各积木重量算法public class class4...原创 2019-07-30 16:01:40 · 1366 阅读 · 0 评论 -
leetcode习题集——152. 乘积最大子序列
题目给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。算法public class P152 { public int maxPro...转载 2019-07-21 12:39:16 · 168 阅读 · 0 评论 -
leetcode习题集——139. 单词拆分
题目给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。你可以假设字典中没有重复的单词。示例 1:输入: s = “leetcode”, wordDict = [“leet”, “code”]输出: true解释: 返回 true 因为 “leetcode” 可以被...原创 2019-06-30 13:58:04 · 156 阅读 · 0 评论 -
leetcode习题集——128. 最长连续序列
题目给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。算法public class P128 { public int longestConsecutive(int[] nums) { H...原创 2019-06-22 13:42:54 · 512 阅读 · 0 评论 -
leetcode习题集—— 122. 买卖股票的最佳时机 II
题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。示例 1:输入: [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易...转载 2019-06-20 11:17:10 · 122 阅读 · 0 评论 -
leetcode习题集——121. 买卖股票的最佳时机
题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注意利润...转载 2019-06-20 10:22:14 · 129 阅读 · 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 种不同结构的二叉搜索树:算法public class P95 { public List&l...原创 2019-06-07 17:20:04 · 122 阅读 · 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-06-05 16:50:52 · 214 阅读 · 0 评论 -
leetcode习题集——72. 编辑距离
题目给定两个单词 word1 和 word2,计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入: word1 = “horse”, word2 = “ros”输出: 3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -> rose (...原创 2019-05-12 13:38:34 · 189 阅读 · 0 评论 -
leetcode习题集——53. 最大子序和
题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。算法public class P53_MaximumSubarray { public int maxSubArray(int[] nu...原创 2019-04-24 10:48:39 · 109 阅读 · 0 评论 -
leetcode习题集——64. 最小路径和
题目给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1],[1,5,1],[4,2,1]]输出: 7解释: 因为路径 1→3→1→1→1 的总和最小。算法public class P64_MinimumPathSum { public int m...原创 2019-05-03 13:33:48 · 106 阅读 · 0 评论 -
leetcode习题集——63. 不同路径 II
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径?网格中的障碍物和空位置分别用 1 和 0 来表示。说明:m 和 n 的值均不超过 100。示例 1:输入:[[0,0,0],...原创 2019-05-03 12:49:23 · 167 阅读 · 0 评论 -
leetcode习题集——62. 不同路径
题目一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?例如,上图是一个7 x 3 的网格。有多少可能的路径?说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解释:从左上角...原创 2019-05-02 14:27:16 · 162 阅读 · 0 评论 -
leetcode习题集——44. 通配符匹配
题目给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。'?' 可以匹配任何单个字符。'*' 可以匹配任意字符串(包括空字符串)。两个字符串完全匹配才算匹配成功。说明:s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和 *。示例 1:输入:s = “aa”p = “a”...原创 2019-04-13 11:24:10 · 492 阅读 · 0 评论 -
leetcode习题集——32. 最长有效括号
题目给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例 1:输入: “(()”输出: 2解释: 最长有效括号子串为 “()”示例 2:输入: “)()())”输出: 4解释: 最长有效括号子串为 “()()”算法public class P32_LongestValidParentheses { public int lon...原创 2019-03-29 11:40:59 · 144 阅读 · 0 评论 -
leetcode习题集——5. 最长回文子串
题目给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”算法1思路:动态规划我们定义P(i,j)为回文子串,则我们有递推式if(S(i-1) == S(j+1))then P(i-1,j+1)也是...原创 2019-02-24 15:07:25 · 126 阅读 · 0 评论 -
leetcode习题集——718. 最长重复子数组
题目给两个整数数组 A 和 B ,返回两个数组中公共的、长度最长的子数组的长度。示例 1:输入:A: [1,2,3,2,1]B: [3,2,1,4,7]输出: 3解释:长度最长的公共子数组是 [3, 2, 1]。说明:1 <= len(A), len(B) <= 10000 <= A[i], B[i] < 100算法public class cla...转载 2019-07-27 22:25:27 · 341 阅读 · 0 评论