动态规划
IDEA_TEYU_1112
其实吧压力也没那么大
展开
-
Leetcode刷题java之84. 柱状图中最大的矩形(一天一道编程题之四十五天)
执行结果:通过显示详情执行用时 :2 ms, 在所有 Java 提交中击败了99.31% 的用户内存消耗 :41.2 MB, 在所有 Java 提交中击败了54.29%的用户题目:给定 n 个非负整数,用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。以上是柱状图的示例,其中每个柱子的宽度为 ...原创 2020-04-02 18:11:24 · 204 阅读 · 0 评论 -
Leetcode刷题java之42. 接雨水(一天一道编程题之四十三天)
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了99.96% 的用户内存消耗 :39.6 MB, 在所有 Java 提交中击败了11.87%的用户题目:给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情...原创 2020-04-02 15:02:00 · 398 阅读 · 0 评论 -
Leetcode刷题java之91. 解码方法(一天一道编程题之四十二天)(动态规划)
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :37.8 MB, 在所有 Java 提交中击败了5.07%的用户题目:一条包含字母 A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。...原创 2020-04-01 11:58:06 · 256 阅读 · 0 评论 -
Leetcode刷题java之300. 最长上升子序列
执行结果:通过显示详情执行用时 :21 ms, 在所有 Java 提交中击败了18.34% 的用户内存消耗 :41.3 MB, 在所有 Java 提交中击败了5.09%的用户题目:给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是...原创 2020-02-11 11:30:03 · 299 阅读 · 0 评论 -
Leetcode刷题java之322. 零钱兑换
执行结果:通过显示详情执行用时 :13 ms, 在所有 Java 提交中击败了68.96% 的用户内存消耗 :35.9 MB, 在所有 Java 提交中击败了51.50%的用户题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: co...原创 2020-02-09 17:24:57 · 392 阅读 · 0 评论 -
Leetcode刷题java之337. 打家劫舍 III
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了99.85% 的用户内存消耗 :37.6 MB, 在所有 Java 提交中击败了72.38%的用户题目:在上次打劫完一条街道之后和一圈房屋后,小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为“根”。 除了“根”之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意...原创 2020-02-09 16:13:57 · 311 阅读 · 0 评论 -
Leetcode刷题java之279. 完全平方数
执行结果:通过显示详情执行用时 :39 ms, 在所有 Java 提交中击败了61.44% 的用户内存消耗 :35.5 MB, 在所有 Java 提交中击败了60.11%的用户题目:给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3解...原创 2020-02-09 11:32:56 · 321 阅读 · 0 评论 -
Leetcode刷题java之221. 最大正方形
执行结果:通过显示详情执行用时 :6 ms, 在所有 Java 提交中击败了89.02% 的用户内存消耗 :43.1 MB, 在所有 Java 提交中击败了30.81%的用户题目:在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。示例:输入:1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出...原创 2020-02-09 09:46:14 · 252 阅读 · 0 评论 -
牛客网刷题之剪绳子
题目:给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1),每段绳子的长度记为k[0],k[1],...,k[m]。请问k[0]xk[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。思路:不难发现,这个数只能由2和3组成,且3的数目大于2的数目通过对3...原创 2020-02-03 12:29:23 · 312 阅读 · 0 评论 -
Leetcode刷题之解决六种股票问题(一个方法团灭它们)
很多读者抱怨股票系列问题奇技淫巧太多,如果面试真的遇到这类问题,基本不会想到那些巧妙的办法,怎么办?所以本文拒绝奇技淫巧,而是稳扎稳打,只用一种通用方法解决所用问题,以不变应万变。这篇文章用状态机的技巧来解决,可以全部提交通过。不要觉得这个名词高大上,文学词汇而已,实际上就是 DP table,看一眼就明白了。先随便抽出一道题,看看别人的解法:int maxProfit(vector<...转载 2020-01-29 12:35:27 · 624 阅读 · 0 评论 -
Leetcode刷题java之139. 单词拆分
执行结果:通过显示详情执行用时 :5 ms, 在所有 Java 提交中击败了83.83% 的用户内存消耗 :36.4 MB, 在所有 Java 提交中击败了35.99%的用户题目:给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。说明: 拆分时可以重复使用字典中的单词。 ...原创 2020-01-29 09:51:45 · 436 阅读 · 0 评论 -
Leetcode刷题java之120. 三角形最小路径和
执行结果:通过显示详情执行用时 :3 ms, 在所有 Java 提交中击败了83.94% 的用户内存消耗 :37.2 MB, 在所有 Java 提交中击败了72.94%的用户题目:给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。例如,给定三角形:[ [2], [3,4], [6,5,7], [4,1,8,3...原创 2020-01-28 18:03:55 · 288 阅读 · 0 评论 -
Leetcode刷题java之96. 不同的二叉搜索树
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :33 MB, 在所有 Java 提交中击败了34.44%的用户题目:给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种?思路:属于动态规划类题目,根据它的规律可以推导出递推公式。G(n): 长度为n的序列的不同二叉搜索树个数。F(...原创 2020-01-28 11:52:54 · 243 阅读 · 0 评论 -
Leetcode刷题java之63. 不同路径 II
执行结果:通过显示详情执行用时 :1 ms, 在所有 Java 提交中击败了89.96% 的用户内存消耗 :36.6 MB, 在所有 Java 提交中击败了86.48%的用户题目:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。现...原创 2020-01-28 11:12:56 · 254 阅读 · 0 评论 -
Leetcode刷题java之62. 不同路径
执行结果:通过显示详情执行用时 :0 ms, 在所有 Java 提交中击败了100.00% 的用户内存消耗 :33 MB, 在所有 Java 提交中击败了62.78%的用户题目:一个机器人,只能往下或者往右走,那么走到右下角有多少种不同的方式说明:m 和 n 的值均不超过 100。示例 1:输入: m = 3, n = 2输出: 3解...原创 2020-01-28 10:48:44 · 252 阅读 · 0 评论 -
Leetcode刷题java之303. 区域和检索 - 数组不可变
执行结果:通过显示详情执行用时 :111 ms, 在所有Java提交中击败了81.85%的用户内存消耗 :46.3 MB, 在所有Java提交中击败了59.02%的用户题目:给定一个整数数组 nums,求出数组从索引i到j(i≤j) 范围内元素的总和,包含i,j两点。示例:给定 nums = [-2, 0, 3, -5, 2, -1]...原创 2019-08-28 14:01:21 · 233 阅读 · 0 评论 -
Leetcode刷题java之392. 判断子序列
执行结果:通过显示详情执行用时 :1 ms, 在所有Java提交中击败了100.00%的用户内存消耗 :50.7 MB, 在所有Java提交中击败了77.09%的用户题目:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。你可以认为 s 和 t 中仅包含英文小写字母。字符串 t 可能会很长(长度 ~= 500,000),而 s 是个短字符串(长度 <...原创 2019-08-28 20:47:50 · 360 阅读 · 0 评论 -
Leetcode刷题java之746. 使用最小花费爬楼梯
执行结果:通过显示详情执行用时 :2 ms, 在所有Java提交中击败了97.20%的用户内存消耗 :37.2 MB, 在所有Java提交中击败了88.69%的用户题目:数组的每个索引做为一个阶梯,第i个阶梯对应着一个非负数的体力花费值cost[i](索引从0开始)。每当你爬上一个阶梯你都要花费对应的体力花费值,然后你可以选择继续爬一个阶梯或者爬两个阶梯。...原创 2019-08-29 08:40:10 · 363 阅读 · 0 评论 -
Leetcode刷题java之198. 打家劫舍
执行结果:通过显示详情执行用时 :1 ms, 在所有Java提交中击败了95.89%的用户内存消耗 :34.7 MB, 在所有Java提交中击败了84.09%的用户题目:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代...原创 2019-08-29 09:16:03 · 240 阅读 · 0 评论 -
Leetcode刷题java之877. 石子游戏
执行结果:通过显示详情执行用时 :0 ms, 在所有Java提交中击败了100.00%的用户内存消耗 :34.9 MB, 在所有Java提交中击败了86.05%的用户题目:亚历克斯和李用几堆石子在做游戏。偶数堆石子排成一行,每堆都有正整数颗石子piles[i]。游戏以谁手中的石子最多来决出胜负。石子的总数是奇数,所以没有平局。亚历克斯和李轮流进行,亚历克...原创 2019-08-29 16:06:18 · 333 阅读 · 0 评论 -
Leetcode刷题java之64. 最小路径和
执行结果:通过显示详情执行用时 :5 ms, 在所有Java提交中击败了76.78%的用户内存消耗 :45.5 MB, 在所有Java提交中击败了9.03%的用户题目:给定一个包含非负整数的 mxn网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[[1,3,1], [1...原创 2019-08-29 19:04:51 · 248 阅读 · 0 评论 -
Leetcode刷题java之1025. 除数博弈
执行结果:通过显示详情执行用时 :0 ms, 在所有Java提交中击败了100.00%的用户内存消耗 :33.5 MB, 在所有Java提交中击败了100.00%的用户题目:爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。最初,黑板上有一个数字N。在每个玩家的回合,玩家需要执行以下操作:选出任一x,满足0 < x < N 且N %...原创 2019-08-27 21:27:11 · 461 阅读 · 0 评论