最近九章算法和阿里云合办了一场在线编程大赛,根据赛后数据显示,超过70%的选手认为动态规划是最难对付的题型。
而自从动态规划出现在算法面试后,同样成为求职者绕不开的“噩梦”。除了Google,TikTok等常面DP的大厂外,现在就连亚麻电面阶段也考DP了,如果没有准备的话,分分钟就可能挂面。
动态规划的一大难点就是题型众多而又没有统一的解法。想要熟练掌握往往需要大量刷题来练习,这么做对于本就不充裕的准备时间来说,性价比太低。
作为清华学霸,全国算法竞赛金牌,ACM全球总决赛选手,FLAG资深面试官,侯卫东老师凭借丰富的刷题和面试经验,总结了一套针对动态规划的“4步解题法”。
今天通过一道经典题,侯老师给大家讲讲如何用4步解题法搞定动态规划题型。
换硬币问题 :
你有三种硬币,分别面值2元,5元和7元,每种硬币都有足够多。买一本书需要27元。如何用最少的硬币组合正好付清,不需要对方找钱?
可以使用动态规划的问题