【聚币网交易大厅】拒绝遗忘:高效的动态规划算法
乔治·桑塔亚纳说过,“那些遗忘过去的人注定要重蹈覆辙。”这句话放在问题求解过程中也同样适用。不懂动态规划的人会在解决过的问题上再次浪费时间,懂的人则会事半功倍。那么什么是动态规划?这种算法有何神奇之处?
乔治·桑塔亚纳说过,“那些遗忘过去的人注定要重蹈覆辙。”这句话放在问题求解过程中也同样适用。不懂动态规划的人会在解决过的问题上再次浪费时间,懂的人则会事半功倍。那么什么是动态规划?这种算法有何神奇之处?
动态规划的算法题经常出现在大厂的面试中,它是非常适合考查候选人的一类题型,因为它难度适中,需要一定的技巧,而且根据习题可以有一定的变化,所以如果想去大厂,建议大家好好刷一下此类题目,接下来我会写一些动态规划的相关题解,希望能对大家理解此类习题有所帮助
动态规划过程是: 每次决策依赖于当前状态,又随即引起状态的转移。一个决策序列就是在变化的状态中产生出来的,所以,这种多阶段最优化决策解决问题的过程就称为动态规划。
今天要聊一个很经典的算法问题,若干层楼,若干个鸡蛋,让你算出最少的尝试次数,找到鸡蛋恰好摔不碎的那层楼。
相信不少读者看完标题会会心一笑,没错,今天我们要介绍的是 0-1 背包问题的解题思路。
本文借石头游戏来讲讲「假设两个人都足够聪明,最后谁会获胜」这一类问题该如何用动态规划算法解决。
动态规划(dynamic programming,简称 dp) 是工程中非常重要的解决问题的思想,从我们在工程中地图软件上应用的最短路径问题,再在生活中的在淘宝上如何凑单以便利用满减券来最大程度地达到我们合理薅羊毛的目的 ,很多时候都能看到它的身影。