合集-LeetCode 入门DP

摘要:题目链接 746. 使用最小花费爬楼梯 思路 动态规划 题解链接 教你一步步思考动态规划:从记忆化搜索到递推(附题单)Python/Java/C++/Go/JS/Rust 关键点 1. \(dp(i) = min(dp(i-1) + cost_{i-1}, dp(i-2) + cost_{i-2}) 阅读全文
posted @ 2024-09-13 00:04 WrRan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 377. 组合总和 Ⅳ 思路 动态规划 题解链接 本质是爬楼梯:从记忆化搜索到递推,附题单(Python/Java/C++/C/Go/JS/Rust) 关键点 1. 时间复杂度 O(targetn) 空间复杂度 O(target) 代码实现: class So 阅读全文
posted @ 2024-09-13 00:35 WrRan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 2466. 统计构造好字符串的方案数 思路 动态规划-“爬楼梯”变体 题解链接 爬楼梯换皮(Python/Java/C++/Go/JS/Rust) 关键点 dp(i)=dp(izero)+dp(ione) 时间复杂度 O(high) 空间复杂度 \(O(high 阅读全文
posted @ 2024-09-13 00:38 WrRan 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 2266. 统计打字方案数 思路 动态规划-“爬楼梯”变体 题解链接 分组 + 线性 DP + 乘法原理(Python/Go/C++/Java) 关键点 1. 预处理类“斐波拉契数组” 2. 区分“79”及其他数字 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: M 阅读全文
posted @ 2024-09-13 00:46 WrRan 阅读(13) 评论(0) 推荐(0) 编辑
摘要:题目链接 198. 打家劫舍 思路 入门动态规划-“打家劫舍”系列 题解链接 【视频讲解】动态规划入门:从记忆化搜索到递推(Python/Java/C++/Go/JS) 关键点 无 时间复杂度 O(n) 空间复杂度 O(n)或者O(1) 代码实现(DFS): class So 阅读全文
posted @ 2024-09-18 14:27 WrRan 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 740. 删除并获得点数 思路 动态规划-打家劫舍-变体 题解链接 官方题解 关键点 优化版本:排序后,分段获取“连续子序列”的“打家劫舍值”后进行加和 时间复杂度 O(#nums+maxnums)O(n)(优化版本) 空间复杂度 \( 阅读全文
posted @ 2024-09-18 14:39 WrRan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 2320. 统计放置房子的方式数 思路 动态规划-斐波拉契数列 题解链接 线性 DP(Python/Java/C++/Go) 关键点 无 时间复杂度 O(n) 空间复杂度 O(n) 代码实现: MOD = 10 ** 9 + 7 f = [1, 2] for _ in ra 阅读全文
posted @ 2024-09-18 14:57 WrRan 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接 213. 打家劫舍 II 思路 动态规划-打家劫舍-简单变体 题解链接 简洁写法!直接调用 198 题代码!(Python/Java/C++/Go/JS/Rust) 关键点 可以分为两种情况讨论:1. 选第一个位置 2. 不选第一个位置 时间复杂度 O(n) 空间复杂度 \(O(1 阅读全文
posted @ 2024-09-18 21:50 WrRan 阅读(5) 评论(0) 推荐(0) 编辑
摘要:题目链接 3186. 施咒的最大总伤害 思路 动态规划-打家劫舍(值域版)-简单变体 题解链接 【套路】值域打家劫舍(Python/Java/C++/Go) 关键点 1. 排序 2. 对可选数字进行“打家劫舍” 时间复杂度 O(nlogn) 空间复杂度 O(n) 代码实现: cl 阅读全文
posted @ 2024-09-18 21:55 WrRan 阅读(10) 评论(0) 推荐(0) 编辑
摘要:题目链接 53. 最大子数组和 思路 1. 前缀和 2. 动态规划 题解链接 两种方法:前缀和/动态规划(Python/Java/C++/C/Go/JS/Rust) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现(前缀和): class Solution: def 阅读全文
posted @ 2024-09-18 22:00 WrRan 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 2606. 找到最大开销的子字符串 思路 前缀和/动态规划-最长子数组和-简单变体 题解链接 【转换】最大子数组和(Python/Java/C++/Go) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现(动态规划): class Solution: def 阅读全文
posted @ 2024-09-18 22:09 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 1749. 任意子数组和的绝对值的最大值 思路 前缀和/动态规划-最大子数组和-简单变体 题解链接 两种方法:动态规划/前缀和(附题单!Python/Java/C++/Go/JS) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现(动态规划): class 阅读全文
posted @ 2024-09-18 22:14 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 1191. K 次串联后最大子数组之和 思路 前缀和/动态规划-最大子数组和-简单变体 题解链接 dp做法正确性的详细证明(图帮助理解) 关键点 分情况讨论(k2):1. 序列和小于0 2. 序列和大于等于0 时间复杂度 O(n) 空间复杂度 O(1) 代码实 阅读全文
posted @ 2024-09-18 23:06 WrRan 阅读(7) 评论(0) 推荐(0) 编辑
摘要:题目链接 918. 环形子数组的最大和 思路 最大子数组和-简单变体 题解链接 没有思路?一张图秒懂!(Python/Java/C++/Go/JS) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: class Solution: def maxSubarraySu 阅读全文
posted @ 2024-09-18 23:11 WrRan 阅读(4) 评论(0) 推荐(0) 编辑
摘要:题目链接 152. 乘积最大子数组 思路 最大子数组和-简单变体 题解链接 动态规划 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: class Solution: def maxProduct(self, nums: List[int]) -> int: ans 阅读全文
posted @ 2024-09-18 23:15 WrRan 阅读(6) 评论(0) 推荐(0) 编辑
摘要:题目链接 2321. 拼接数组的最大分数 思路 最大子数组和-变体 题解链接 转换成最大子数组和(Python/Java/C++/Go) 关键点 无 时间复杂度 O(n) 空间复杂度 O(1) 代码实现: class Solution: def maximumsSplicedArra 阅读全文
posted @ 2024-09-18 23:18 WrRan 阅读(6) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示