动态规划是经典的算法思想之一,说的是问题的解总是可以由若干子问题的解计算出来,或者说是当前状态总是可以从若干的历史状态中推导出来。 因此,动态规划常常适用于有明确递推公式的问题。在递推公式中,我们要计算最终的结果,并不是从零开始枚举所有可能的情况,而是先求解子问题的状态,然后通过子问题状态的组合来获得当前状态。我们知道,计算机是有限状态机,其中所有问题的求解理论上都可以通过枚举来进行。但是在一些情况下,如果能够记录曾经枚举过的情况,下次遇到就可以直接使用,从而避免重复枚举,这正是动态规划的意义。。 本文接下来就用10道LeetCode题目从易到难来聊一聊动态规划算法。
1 斐波那契数 Q0509
相信很多朋友在中学时就遇到过斐波那契数列,还觉得这个数列特别简单,事实上也确实不难,因此常常作为计算机中讲述基础程序的例子。不过,在这里我们要用它来演示一下动态规划算法的大概情况,因为它有一个明确的递推公式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/26719.html