Tag: leetcode

有向无环图的反图与逆向思维

摘要: DAG 中的祖先节点 -> 反图的后代节点 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们通过一个题目来看一下有向无环图的反图的性质。首先我们简要介绍一下反图的概念以及有向无环图反图

力扣2810-故障键盘

摘要: 画图观察,找规律,猜想出结论 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 今天看一个模拟题,可以通过模拟的方式去做。但是还有更优雅的方式,不用来回来去地反转字符串,而只需要反转少量的子串即

力扣2908-元素和最小的山形三元组1

摘要: 峰谷类问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,今天我们来看一个与数组中的峰谷相关的问题,主要涉及到通过前缀和的方式预处理出前缀和后缀的信息,然后再遍历数组计算答案。 在文

力扣2673-使二叉树所有路径值相等的最小代价

摘要: 二叉树的遍历 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们来看一个二叉树遍历的问题。算法非常基础,主要是想到在 DFS 的过程中递归地维护各个子树的最长路径长度,基于这个长

力扣1997-访问完所有房间的第一天

摘要: 方程组辅助 DP 状态设计,简化思路 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,今天我们来看一个比较难想的动态规划问题,容易看出是动态规划,但是状态的设计却很复杂,在同一套阶段划

力扣2642-设计可以求最短路径的图类

摘要: 加边松弛操作 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 Floyd算法 中我们了解到了求最短路径的 Floyd 算法。理解这个算法需要一些动态规划的概念,其中阶段的定义与推导比较

优先级队列优化 DP

摘要: 优先级队列优化 DP、自定义堆的比较规则 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们解决一个在棋盘上可以向下或向右行动的问题。本题的特点是每一步可以在给定范围内跳格子行动

【二维线性DP】力扣2312-卖木头块

摘要: 一个二维线性 DP 的比较困难题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们看一个二维线性 DP 的问题。DP 状态有两个维度,这里的两个维度都是附加信息,状态的推导过程

【棋盘DP】力扣2684-矩阵中移动的最大次数

摘要: 棋盘 DP 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们来解决一个比较基础的棋盘 DP 的问题,以列号 j 为阶段,行号 i 作为附加信息。 题目 2684. 矩阵中移动的最大次数

先找规律后推公式,自然数幂和公式

摘要: 找规律,推公式 【对数据分析、人工智能、金融科技、风控服务感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:潮汐朝夕我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们看一个值域二分的问题。假设有一个 $f(x)$,我们想知道使得 $f(x) \geq M$ 成

在heqpq中维护大顶堆:取相反数的方式

摘要: heapq 中维护大顶堆 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在 Python 和 C++ 中与堆相关的组件中,默认都是小顶堆,类似地排序组件默认也是小的值排在前面。 在 C++

二维差分:用邮票贴满网格图

摘要: 二维差分 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在一维数组上,前缀和与差分是一种常见的处理区间求和问题的算法,参考文章 【模板】前缀和与差分。 如果二维的矩阵上有类似的与求和有关的问

极值栈与极值队列

摘要: 极值栈,极值队列 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 极值栈是指除了维护栈的基本功能之外,还需要随时查询栈中的最值。它的设计思想是用两个栈来维护,其中一个栈维护数据的插入删除,另一

双单调栈:两侧距离第二近的更大元素

摘要: 双单调栈 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 单调栈是一种在数组上摊销 $O(1)$ 地解决以下问题的数据结构:对于 $nums[i]$,求两侧距离最近的大于 $nums[i]$

Python queue 和 deque 的用法

摘要: Python 双端队列操作 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文通过用 Python 实现 极值栈与极值队列 中的 MaxQueue,来看一下 collections 模块中

leetcode第375场周赛:模下快速幂专场

摘要: 本文是 leetcode 第 375 周赛的记录。主要涉及的算法包括惰性更新、模下快速幂、组合数学、区间合并 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 总览本周进行了 leetcode

树的最大权独立集:树形DP

摘要: 树形DP解决树上最大权独立集问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 对于没有自环的图 $D$,$S$ 为 $V(D)$ 的子集,若 $S$ 中任意两点均不相邻,则称 $S$ 为

heapq的用法

摘要: Python 堆操作 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文介绍 Python 中与堆相关的组件:heapq 模块。首先介绍建堆、插入、查询极值、删除极值、合并有序序列等操作。之

力扣1670-设计前中后队列

摘要: 基于链表的设计 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文看一个基础数据结构的设计问题。难点在于增删的时候如何维护指向链表中间节点的指针。细节处理非常繁琐,不容易过。 题目请你设计一

中心扩散法

摘要: 枚举中点,看两边能扩散多长 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文通过最长回文子串问题,看一下数组上关于子数组的问题的两种不同方向的思考方式,一种是首先确定子数组的两端 l, r

Manacher算法:基于对称性的优化,信息论直觉

摘要: 最长回文子串的 Manacher 算法 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们看一个解决最长回文子串的专门算法:Manacher 算法。Glenn K. Manacher在1

在数据结构中维护前缀和:区间(矩形/路径)和等于(大于)目标值

摘要: 区间和等于目标值的各种变种问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 【模板】前缀和与差分 中我们了解了一维和二维前缀和的算法原理和代码模板。在实际问题中我们经常要将前缀和维

RANSAC算法:应对大比例异常值

摘要: RANSAC 算法思想 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings RANSAC 算法是一种随机算法,它用迭代的方式从一组含有离群点的一组观测数据中估计数学模型的参数。本文首先简要介绍这种

设计内存文件系统:在Trie中用TreeMap维护子节点

摘要: TreeMap 维护子节点的 Trie 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在 Trie 中,一般用数组或哈希表维护子节点,本文我们看一个用TreeMap维护子节点的例子。 题

Trie单串多模式匹配

摘要: 单纯多模式匹配 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文看一个 Trie 可以完美解决的字符串匹配需求,单串多模式匹配,且模式中的字符没有限制,也就是单串中的每个字符都有可能是

打家劫舍:不相邻子序列最大和问题

摘要: 不相邻的子序列最大 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 最大子数组和的三种解法 中我们解决了最大组数组和的问题,以该问题为基础问题有很多变种,在文章 目标带绝对值的处理:最

力扣2216-美化数组的最少删除数

摘要: 定式化的动态规划、技巧性的贪心 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文的题目有动态规划和谈心两种解法。其中动态规划的思路比较定式化,更好想一些。贪心需要一些灵感和技巧,并且涉

调整状态定义的方向:简化实现过程

摘要: 状态定义的方向的影响 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 状态计算的方向:从已知状态计算当前状态;从当前状态更新后续状态 中,我们知道当阶段划分与状态定义完成后,还可以转换

二维偏序问题:扫描线+树状数组

摘要: 一个维度用扫描线(排序)保证有序;一个维度用树状数组保证有序;维护权值的最值 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 二维偏序问题形式化定义如果形式化地定义,二维偏序问题的描述如下。

阶段不足以表示可推导的状态:附加信息作为状态维度

摘要: 找到阶段划分后,有时发现需要增加附加信息才能得到可以推导的状态表示 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 对于一个动态规划的问题。最重要的是找到状态表示和阶段划分,其中阶段划分相对

状态计算的方向:从已知状态计算当前状态;从当前状态更新后续状态

摘要: 状态计算的方向的影响 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在动态规划中,当状态表示和阶段划分给定,状态转移方程可以有两个方向的写法可以选,分别对应不同的考虑方式,一个是考虑从先前阶

带权DAG上的最长路径:拓扑序DP

摘要: 拓扑序DP解决带权DAG上的最长路径问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 DAG上的DP (拓扑序DP):无权 DAG 的最长路径 中我们介绍了 DAG 上的拓扑序 D

不同路径系列问题:计数DP,以初等计数原理划分阶段和子问题

摘要: 状态的各决策间满足加法原理,决策划分的子状态间满足乘法原理 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 动态规划中的计数类问题,主要强调“不重不漏”。因此如果用动态规划解决的话,子结构的划

最优决策序列个数

摘要: 动态规划解决优化问题,求最优决策方案数 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在动态规划的问题中,有时会遇到求某个具体的最优决策序列的问题,在 求具体的最优决策序列 中已经解决。 本

数字三角形与数字矩形:两类最经典的棋盘DP状态设计

摘要: 数字三角形问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们通过数字三角形和数字矩形这两个简单问题来看一下棋盘 DP 的两类基本设计思路。 在棋盘 DP 的问题中,比较常见的有两种

求具体的最优决策序列

摘要: 动态规划解决优化问题,求具体决策序列 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在动态规划解决的优化问题中,有时需要给出具体的最优方案。最直接的做法是额外使用一些与 DP 状态大小相同的

离线分治:基于时间 (CDQ分治)

摘要: 基于时间的离线分治,逆序对个数 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 很多数据结构的问题可以抽象为“维护一系列数据,并对一系列操作一次做出响应”,这些操作可以分为两种: 查询型操作

分块查找表:区间修改,区间最值查询

摘要: 分块查找表,原理与实现,解决带修改的区间最值查询问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 分块查找表的主要思路是对于数据数组 nums[0..n-1], 共 n 个元素,每 $\s

Range模块:维护区间的增删改查

摘要: 基于平衡树的Range模块,维护区间的增删改查 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 本文我们通过力扣 715 来看一下可以动态维护区间的增删改查的组件的功能与实现,本题的代码可以作

bisect二分查找中key参数的用法

摘要: Python 二分查找 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 二分查找是程序中非常常见的需求。细节和变种比较多,比如整数二分和实数二分;区间二分和值域二分;有重复元素和无重复元素;包

【搜索难题】力扣2258-逃离火灾

摘要: 搜索题,思路简单,细节复杂 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 各位好,本文我们来看一个搜索题。思路比较清晰,不过细节很复杂。需要针对人和火搜索两次。第二次既可以 BFS 也可以

二维转一维

摘要: 基于一维问题的解法,解决二维问题 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 一维数组上有一些常见的问题,应用了正确的算法后可以很好地解决。这些问题经常在二维矩阵上也有类似的问题。比如一维

前驱后继与线索二叉树

摘要: 线索树 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 对树进行遍历的过程中,会产生一个遍历序,参考文章 遍历序的基本概念与性质。基于这个遍历序,每个节点都有一个前驱节点与后继节点。 在实际问

字典序法枚举组合(r子集)

摘要: 按照字典序来枚举组合 $\binom{n}{r}$ 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 字典序法枚举排列 中,我们用字典序方法完成了排列的枚举。在 C++ 中,std::n

阶乘数系统与康托编码

摘要: 阶乘数系统、康托编码,全排列和字典序互相转换 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 回溯法的思想、设计与分析 中,我们系统学习了回溯法。回溯法将解空间看做树形结构,称为状态空

字典序法枚举排列

摘要: 按照字典序来枚举全排列 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 回溯法的思想、设计与分析 中,我们系统学习了回溯法。回溯法将解空间看做树形结构,称为状态空间树,在文章 回溯法三

SJT算法:沿哈密顿路径枚举全排列

摘要: 枚举全排列与哈密顿路径 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 回溯法的思想、设计与分析 中,我们系统学习了回溯法。回溯法将解空间看做树形结构,称为状态空间树,在文章 回溯法三

n皇后问题:同一问题构造不同的状态空间树

摘要: n 皇后问题与回溯法 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 在文章 回溯法的思想、设计与分析 中,我们系统了解了回溯法的思想。 我们知道要用回溯法解决问题,首先需要明确问题的解空间,

记忆化搜索解决DP过程有效状态值稀疏的问题

摘要: 最优子结构+重复子问题 -> 动态规划 -> 有很多对结果无影响的无效状态 -> 改为记忆化搜索 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 记忆化搜索是一种结合了搜索和动态规划的优点的算

记忆化搜索解决DP状态转移方向不好想的问题

摘要: 最优子结构+重复子问题 -> 动态规划 -> 状态转移方向不明显 -> 改为记忆化搜索 【对算法,数学,计算机感兴趣的同学,欢迎关注我哈,阅读更多原创文章】我的网站:潮汐朝夕的生活实验室我的公众号:算法题刷刷我的知乎:潮汐朝夕我的github:FennelDumplings我的leetcode:FennelDumplings 记忆化搜索是一种结合了搜索和动态规划的优点的算法。相应地