最近面了谷歌的阿七很是无语:题做完了,面试官却要求用动态规划(DP)再做一遍,毫无防备,直接挂了……
区别于一些固定形式的算法(DFS、二分法、KMP等),DP题目类型多,成了FLAG等科技公司的筛人利器。
为了帮助更多同学拿到攻克DP,侯卫东老师根据最新面经开设了《动态规划专题班》,帮你总结了一套通用的动规解题思路,7节课带你搞定动态规划面试题。
扫码报名 免费试听
为了方便大家备战,我们还整理了
《FLAG高频动态规划66题》
,覆盖大厂高频DP题及刷题链接,免费送给大家!

FLAG高频动态规划66题
完整礼包拉至文末即可获取

动规题有特点,掌握规律轻松入门
动态规划的一大难点就是适用题目类型多,而又没有固定模板,很多同学面对众多题型往往不知所措。
所以解决动态规划问题,首先要判断是否需要用动态规划。可以使用动态规划的问题一般都遵循一些特点,比如提问的方式一般是:
1. 计数
有多少种方式走到右下角
有多少种方法选出K个数使得和是Sum
2. 求最大最小值
从左上角到右小角路径的最大数字和
最长上升子序列长度
3. 求存在性
取石子游戏,先手是否必胜
能不能选出K个数字使得和是Sum
其实,搞懂并解答DP问题,思路很关键。
侯卫东老师在《动态规划专题班》中,根据最新面经,总结了一套通用的动规解题思路,帮你轻松解答动态规划问题。
4步套路,解决所有动态规划问题
侯卫东老师在《动态规划专题班》中总结了一套完整且通用的动态规划解题思路:
1、确定问题状态
- 提炼最后一步
- 子问题转化
2、转移方程,把问题方程化
3、按照实际逻辑设置初始条件和边界情况
4、确定计算顺序并求解
拿个最近学员碰到的真题举例:
你有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多。买一本书需要27元。如何用最少的硬币组合正好付清,不需要对方找钱?
关键词“用最小的硬币组合正好付清”——“最小的组合”,求最值问题,动态规划
正常人第一反应思路:
● 最少硬币组合?
● 优先使用大面值硬币——7+7+7+5=26 额?可求解目标是27啊……
● 改算法——7+7+7+2+2+2=27,总共用了6枚硬币正好27元.
● 实际正确答案:7+5+5+5+5=27,才用了5枚硬币。
所以这里贪心算法是不正确的。
侯卫东老师是这样解的:
向上滑动浏览解题步骤
很多同学可能拿到这道题会用递归来解,但问题明显——重复递归太多
这道题是求f(27),还可以勉强递归。如果求f(100)呢?简直是天文数字。最终结果就是像上面挂掉亚麻面试的朋友那样超时。
求总体最值,一定优先考虑动态规划,不要憨憨的去递归。
扫码报名 白嫖递归解题套路
做出一道动规,当场定offer
之前我们一位学员在算法面试解出了一道动规题,成功俘获亚麻面试官的“芳心”,当场定下了offer
可见,答好动规题能让你在面试中脱颖而出,最终成功上岸!
谁来讲
上完这门课,你可以做到: 
对于面试中常见动态规划题目能迅速判断并找到解题要领
对于动态规划变种题能找到解题的突破口并轻松解决
可以对动态规划算法进行时间和空间上的优化
面试中将不再有你不会做的动态规划题
如何试听体验?
扫码报名 免费试听
或点“阅读原文”试听
礼包领取方式
添加班班九章算法-浅浅微信
回复【DP】+课程试听报名截图
浅浅将在1个工作日内发放礼包
戳下方阅读原文免费试听!
继续阅读
阅读原文