![](https://img-blog.csdnimg.cn/20190918140012416.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
dp
文章平均质量分 77
动态规划
命运的左轮
这个作者很懒,什么都没留下…
展开
-
leetcode70 爬楼梯,746 使用最小花费爬楼梯(python)
文章目录70. 爬楼梯分析代码(DP)通过截图746. 使用最小花费爬楼梯分析代码通过截图70. 爬楼梯假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。4. 1 阶 + 1 阶 + 1 阶5. 1 阶 + 2 阶6. 2 阶 + 1 阶原创 2022-02-11 22:57:20 · 197 阅读 · 0 评论 -
leetcode62 不同路径 ,63 不同路径 II(python)
文章目录62. 不同路径分析代码(动态规划)通过截图63. 不同路径 II分析代码(动态规划)通过截图62. 不同路径一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径? 示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径转载 2022-02-11 23:20:57 · 59 阅读 · 0 评论 -
leetcode343 整数拆分,96 不同的二叉搜索树(python)
文章目录343. 整数拆分分析代码通过截图96. 不同的二叉搜索树分析代码通过截图343. 整数拆分给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k >= 2 ),并使这些整数的乘积最大化。返回 你可以获得的最大乘积 。 示例 1:输入: n = 2输出: 1解释: 2 = 1 + 1, 1 × 1 = 1。示例 2:输入: n = 10输出: 36解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。 提示:2 <= n原创 2022-02-12 22:09:14 · 387 阅读 · 0 评论 -
01背包问题(python模板)
文章目录问题概述01背包特点01背包(二维数组版本)分析代码01背包(一维滚动数组版本)分析代码最后结果问题概述有一个背包,最大承重为N,现在要装一些物品i(物品价值为value[i],物品重量为weight[i]),求这个背包装这些物品后的最大价值。01背包特点每种物品只有一个,要么选要么不选01背包(二维数组版本)分析dp[i][j]表示在背包容量j从i个物品中任选物品的最大价值dp[i][j]价值全部先为0,考虑到后面有加法运算。第一行价值需要初始化,从第一行可以承受的重量开始到原创 2022-02-12 23:29:55 · 855 阅读 · 0 评论 -
leetcode416 分割等和子集,1049 最后一块石头的重量 II(python)
文章目录416. 分割等和子集分析代码通过截图1049. 最后一块石头的重量 II分析代码通过截图416. 分割等和子集给你一个 只包含正整数 的 非空 数组 nums 。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。 示例 1:输入:nums = [1,5,11,5]输出:true解释:数组可以分割成 [1, 5, 5] 和 [11] 。示例 2:输入:nums = [1,2,3,5]输出:false解释:数组不能分割成两个元素和相等的子集。 提示原创 2022-02-13 00:28:18 · 146 阅读 · 0 评论 -
leetcode494 目标和,474 一和零(python)
文章目录494. 目标和分析代码(动态规划)通过截图474. 一和零分析代码(动态规划)通过截图494. 目标和给你一个整数数组 nums 和一个整数 target 。向数组中的每个整数前添加 '+' 或 '-' ,然后串联起所有整数,可以构造一个 表达式 :例如,nums = [2, 1] ,可以在 2 之前添加 '+' ,在 1 之前添加 '-' ,然后串联起来得到表达式 "+2-1" 。返回可以通过上述方法构造的、运算结果等于 target 的不同 表达式 的数目。 示例 1:原创 2022-02-13 23:26:51 · 454 阅读 · 0 评论 -
完全背包问题(python模板)
文章目录问题概述完全背包特点完全背包(一维滚动数组版本)分析代码最后结果文章目录问题概述完全背包特点完全背包(一维滚动数组版本)分析代码最后结果问题概述有一个背包,最大承重为N,现在要装一些物品i(物品价值为value[i],物品重量为weight[i]),物品数量不限(即可以重复装),求这个背包装这些物品后的最大价值。完全背包特点每种物品有无限个完全背包(一维滚动数组版本)分析前面的01背包我们可以知道,外面循环物品为正序,内部反向循环背包。内部反向循环是为了保证物品只能被添加一次,原创 2022-02-13 23:43:42 · 911 阅读 · 0 评论 -
leetcode518 零钱兑换 II,377 组合总和 Ⅳ(python)
文章目录518. 零钱兑换 II分析代码通过截图377. 组合总和 Ⅳ分析代码通过截图518. 零钱兑换 II给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带符号整数。 示例 1:输入:amount = 5, coins = [1, 2, 5]输出:4解释:有四种方式可以凑成总金额:原创 2022-02-14 00:00:07 · 144 阅读 · 0 评论 -
leetcode70 爬楼梯(进阶),322 零钱兑换(python)
文章目录70. 爬楼梯(进阶)分析代码(动态规划)通过截图322. 零钱兑换分析(动态规划)代码通过截图70. 爬楼梯(进阶)假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1:输入:n = 2输出:2解释:有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2:输入:n = 3输出:3解释:有三种方法可以爬到楼顶。1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶原创 2022-02-14 00:38:11 · 307 阅读 · 0 评论 -
第39级台阶,牌型种数(python)
文章目录第39级台阶分析运行代码通过截图黄金连分数分析运行代码通过截图第39级台阶题目描述小明刚刚看完电影《第39级台阶》,离开电影院的时候,他数了数礼堂前的台阶数,恰好是39级!站在台阶前,他突然又想着一个问题:如果我每一步只能迈上1个或2个台阶,先迈左脚,然后左右交替,最后一步是迈右脚,也就是说一共要走偶数步。那么,上完39级台阶,有多少种不同的上法呢?请你利用计算机的优势,帮助小明寻找答案。要求提交的是一个整数。分析leetcode走台阶的升级版,如图应该很好看出状态转移方程,其实原创 2022-03-02 02:09:56 · 251 阅读 · 0 评论