动态规划
还没想好1234
开发转ai了
展开
-
32. Longest Valid Parentheses
32. 最长有效括号 题目描述提示帮助提交记录社区讨论阅读解答 随机一题 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" class Solution { p...原创 2018-08-26 21:42:25 · 92 阅读 · 0 评论 -
354. 俄罗斯套娃信封问题
class Solution { public int maxEnvelopes(int[][] envelopes) { if(envelopes.length==0) return 0; for(int i=1;i<envelopes.length;i++) { int []tem...原创 2018-09-18 19:34:51 · 566 阅读 · 0 评论 -
131. 分割回文串
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ] 题目解析:使用动态规划用数组dp记录字符串,然后递归拼接集合。 class Solution { public List<List<Str原创 2018-09-02 16:52:23 · 172 阅读 · 0 评论 -
120. 三角形最小路径和
120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。 说明: 如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解...原创 2018-08-29 15:42:26 · 270 阅读 · 0 评论 -
746. 使用最小花费爬楼梯
随机一题 数组的每个索引做为一个阶梯,第 i个阶梯对应着一个非负数的体力花费值 cost[i](索引从0开始)。 每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。 您需要找到达到楼层顶部的最低花费。在开始时,你可以选择从索引为 0 或 1 的元素作为初始阶梯。 示例 1: 输入: cost = [10, 15, 20] 输出: 15 解释: 最...原创 2018-08-24 19:58:12 · 108 阅读 · 0 评论 -
188. 买卖股票的最佳时机 IV
188. 买卖股票的最佳时机 IV 题目描述提示帮助提交记录社区讨论阅读解答 随机一题 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [2,4,1], k = 2 输出: 2 解释: 在第 1 天 ...原创 2018-08-28 21:40:10 · 171 阅读 · 0 评论 -
不同的二叉搜索树
96. 不同的二叉搜索树和95. 不同的二叉搜索树 II 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 ...原创 2018-08-28 16:55:12 · 272 阅读 · 0 评论 -
87. 扰乱字符串
给定一个字符串 s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树。 下图是字符串 s1 = "great" 的一种可能的表示形式。 great / \ gr eat / \ / \ g r e at / \ a t 在扰乱这个字符串的过程中,我们可以挑选任何一个非叶节点,然...原创 2018-08-27 19:26:17 · 228 阅读 · 0 评论 -
139. 单词拆分
给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。 示例 1: 输入: s = "leetcode", wordDict = ["leet", "code"] 输出: true 解释: 返回 true 因为 "leetcode" 可...原创 2018-08-30 16:33:42 · 123 阅读 · 0 评论 -
64. 最小路径和
给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。 说明:每次只能向下或者向右移动一步。 示例: 输入: [ [1,3,1], [1,5,1], [4,2,1] ] 输出: 7 解释: 因为路径 1→3→1→1→1 的总和最小。 class Solution { public int minPathSum(in...原创 2018-08-27 15:13:01 · 95 阅读 · 0 评论 -
62. 不同路径
一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不超过 100。 示例 1: 输入: m = 3, n = 2 输出: 3 解释: ...原创 2018-08-27 14:54:46 · 99 阅读 · 0 评论 -
44. 通配符匹配
题目描述提示帮助提交记录社区讨论阅读解答 随机一题 给定一个字符串 (s) 和一个字符模式 (p) ,实现一个支持 '?' 和 '*' 的通配符匹配。 '?' 可以匹配任何单个字符。 '*' 可以匹配任意字符串(包括空字符串)。 两个字符串完全匹配才算匹配成功。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 ? 和...原创 2018-08-27 14:16:06 · 148 阅读 · 0 评论 -
10. 正则表达式匹配
给定一个字符串 (s) 和一个字符模式 (p)。实现支持 '.' 和 '*' 的正则表达式匹配。 '.' 匹配任意单个字符。 '*' 匹配零个或多个前面的元素。 匹配应该覆盖整个字符串 (s) ,而不是部分字符串。 说明: s 可能为空,且只包含从 a-z 的小写字母。 p 可能为空,且只包含从 a-z 的小写字母,以及字符 . 和 *。 示例 1: 输入: s = "aa" p...原创 2018-08-27 11:11:20 · 174 阅读 · 0 评论 -
357. 计算各个位数不同的数字个数
给定一个非负整数 n,计算各位数字都不同的数字 x 的个数,其中 0 ≤ x < 10n 。 示例: 输入: 2 输出: 91 解释: 答案应为除去 11,22,33,44,55,66,77,88,99 外,在 [0,100) 区间内的所有数字。 class Solution { public int countNumbersWithUniqueDigits(int n...原创 2018-09-19 19:27:46 · 184 阅读 · 0 评论