动态规划
dp系列
crazy的蓝色梦想
小柒 爱前端
展开
-
动态规划 --- Leedcode 322 零钱兑换问题
题目给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1解析...原创 2020-09-28 12:11:17 · 267 阅读 · 0 评论 -
动态规划 --- leedcode 121 买股票的最佳时期
题目给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5...原创 2020-04-26 20:47:55 · 192 阅读 · 0 评论 -
动态规划 --- leedcode 53 最大子序和 (Easy)
题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解析动态规划解题:创建dp数组, 数组中的每一位表示:当前nums[i]与前面的元素和的最大值dp[i] = Math.max(dp[i...原创 2020-04-21 13:23:42 · 144 阅读 · 0 评论 -
动态规划 --- Leedcode 63 不同路径2 (medium)
题目这题在leedcode 62题上增加了一个条件,在格网中添加障碍物。解析添加障碍物之后,其实我们只需要将最后一排与最右边一列的每个格子的路径和判断清除就好了。在没有障碍物时,路径和都是1有障碍物之后,那么最后一排和最右边一列中,只要某个格子为1,那么这个格子前面的格子的路径和都为0。其他位置的格子的路径和依旧像上一题那样求解。即dp[i][j] = dp[i][j] = dp[...原创 2020-03-18 11:42:41 · 98 阅读 · 0 评论 -
动态规划 --- leedcode 62 不同路径1 (medium)
题目一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。问总共有多少条不同的路径?解析思路1(自顶向下):把网格记做grid[m][n]起点(grid[0][0])到终点(grid[m-1][n-1])的路径和 = grid[1][0] ...原创 2020-03-18 09:46:41 · 151 阅读 · 0 评论 -
动态规划 --- Leedcode 91 解码方法 (medium)
题目一条包含字母 A-Z 的消息通过以下方式进行了编码:'A' -> 1'B' -> 2...'Z' -> 26给定一个只包含数字的非空字符串,请计算解码方法的总数。示例 1:输入: "12"输出: 2解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。示例 2:输入: "226"输出: 3解释: 它可以解码为 "BZ" (2 26),...原创 2020-03-17 11:43:20 · 298 阅读 · 0 评论 -
动态规划 --- Leedcode 279 完全平方数 (Medium)
题目给定正整数 n,找到若干个完全平方数(比如 1, 4, 9, 16, ...)使得它们的和等于 n。你需要让组成和的完全平方数的个数最少。示例 1:输入: n = 12输出: 3 解释: 12 = 4 + 4 + 4.示例 2:输入: n = 13输出: 2解释: 13 = 4 + 9.解析前面说了BFS的解法,这篇文章说一下动态规划。动态规划都是递归的优化,找...原创 2020-03-13 13:35:45 · 163 阅读 · 0 评论 -
动态规划 --- Leedcode 343 分割整数 Medium
题目给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。示例 1:输入: 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。说明: 你可以假设 n 不小于 2 且不大于 58解析:这题很容易想到递归,但...原创 2020-03-11 19:42:02 · 151 阅读 · 0 评论 -
动态规划 --- Leedcode 64最小路径和(Medium)
前面的话因疫情影响,小柒已经22天没碰过电脑,博客也没有更新。今天喜提充电器,无比激动!!! 小柒将继续更新博客,之前的Vue每日一题也会补起来。又可以与小伙伴们一起学习进步,开心!!!题目给定一个包含非负整数的 m x n 网格,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。说明:每次只能向下或者向右移动一步。示例:输入:[ [1,3,1], [1,5...原创 2020-03-11 12:42:56 · 153 阅读 · 0 评论