15、课程回顾与总结(上)你好,我是卢誉声。 当你看到这里的时候,说明你已基本学习完了我们的整个专栏。在经过一系列的课程之后,你应该已经对最难技术面试问题——动态规划,有了较为全面的认识,并且知道该如何去解决一些经典的问题和这些问题的变种。 话说回来,无论你是按部就班学习完整...2025-11-01动态规划面试宝典
14、刷题指南,熟能生巧你好,我是卢誉声。 自从给出了动态规划的解题模板后,我们就一直沿着其既定的套路在处理各式各样的动归问题。这其实印证了我们在专栏开头所说的一句话:动态规划问题简直就是模板、套路届的典范。 学到今天,其实我们已经对动态规划进行了较为全面的经验式总结,也对...2025-11-01动态规划面试宝典
13、关键:最优子结构与状态依赖你好,我是卢誉声。 还记得我们曾经讨论过的吗?动态规划是运筹学上的一种最优化方法,常出现在数学、管理科学、计算机科学、经济学和生物信息学中,特别是在算法问题上应用广泛。当我们求解一个复杂问题时,会考虑把原问题分解为相对简单的子问题,再进行求解。 从这...2025-11-01动态规划面试宝典
12、攻破最大子数组问题你好,我是卢誉声。 在“动态规划的套路”模块和上一课中,我们已经讨论了最典型的简单子数组问题,这其中包括: 回文子串个数; 最大子数组之和; 最长连续递增序列。 但是,在实际的技术面试环节,如果涉及到动态规划的子数组问题,那么面试官往往会根据经典...2025-11-01动态规划面试宝典
11、攻破最长递增子序列问题你好,我是卢誉声。 还记得我们在上个模块中讲解的子数组和子序列问题吗?相较于较为复杂的子序列问题,它的答案不一定连续;我们还讲解了子数组问题,这类问题的答案是连续的。因此,这两者之间最大的区别,其实就在于答案是否连续。 随着时间的推移,面试官们也往往...2025-11-01动态规划面试宝典
10、常见的动态规划面试题串烧你好,我是卢誉声。 在前面的课程中,我们使用动态规划解题模板(套路),解决了多种类型的动态规划算法问题。这其中包括背包问题、子数组问题和子序列问题等,它们绝大多数都属于求最优解(最大值和最小值)类型的问题。 除此之外,我们还需要掌握另外两大类型的动归...2025-11-01动态规划面试宝典
9、详解子序列问题你好,我是卢誉声。 我们曾在上一课中提到,有两类重要的动态规划问题需要掌握,其中一个是子数组问题,另一个是子序列问题。今天,我们将深入讲解动态规划中的另一个经典问题,即子序列问题。 相较于子数组问题而言,子序列问题要更复杂一些,这是由子序列的特性决定...2025-11-01动态规划面试宝典
8、子数组问题:从解决动归问题套路到实践解题思路你好,我是卢誉声。 如果你已经通过前面的课程,掌握了背包问题的奥义,那么恭喜你已经正式跨过动态规划的门槛了。除了背包问题以外,我们还需要掌握剩下几个类型的动态规划问题。 其中有一个是子数组问题,另一个是子序列问题。今天,我们就从子数组问题开始讲起,这...2025-11-01动态规划面试宝典
7、完全背包:深入理解背包问题你好,我是卢誉声。 在上节课中,我们用动态规划解法,成功解决了动态规划领域中的 Hello World 问题。这个问题虽然比较初级,但却很有代表性,它比较全面地展示了动归解题的套路。 但光解决一个0-1背包问题显然不够过瘾。如果你觉得应用动态规划的解...2025-11-01动态规划面试宝典
6、0-1背包:Hello World你好,我是卢誉声。从今天开始,我们正式进入动态规划套路模块。 不知道你是否跟我有过相似的经历,那就是提起动态规划,最先想到的就是背包问题。事实上,背包问题分很多种,大多数人首先遇到的一般是背包中的0-1背包问题。 因此,我把这个问题称作 Hello ...2025-11-01动态规划面试宝典