坚持了一个月了,骑马找马,要坚持不懈呀✊
一、动态规划理论基础
- 1、什么是动态规划?
英文:Dynamic Programming,简称DP。
如果某一问题有很多重叠子问题,使用动态规划是最有效的。
所以动态规划中每一个状态一定是由上一个状态推导出来的,这一点就区分于贪心,贪心没有状态推导,而是从局部直接选最优的,
贪心解决不了动态规划的问题。
- 2、动归五步曲
解决动态规划类的题目可以分为5个步骤,简称动归五步曲,如下:
- 确定dp数组(dp table)以及下标的含义
- 确定递推公式
- dp数组如何初始化
- 确定遍历顺序
- 举例推导dp数组
二、斐波那契数
leetcode题目链接:509. 斐波那契数
题目描述:
斐波那契数 (通常用
F(n)
表示)形成的序列称为 斐波那契数