动态规划解题步骤:
首先,动态规划的题目主要的目的是为了填写表dp中的空缺部分。
1. 状态表示:就是要填写到qp表中那个值的涵义。
2. 状态转移方程:就是dp[i]值怎么得到的。
3. 初始化:初始化一些值防止,在执行状态方程的时候,出现下标越界。
4. 填表顺序:根据合顺序的到dp[i],确保下一个值所需要的条件已经得到。
5. 返回·值:返回题目所需要的结果。
1. 第N的泰波那契数
1.1 题目解析

由题可得:当一个数列长度大于等于3的情况下,满足当前数的值等于前三个数之和,要求得到第N个数的值(前三个数分别等于0、1、1)。
1.2 解题思路
通过动态规划的解题步骤,状态表示为:第i个泰波那契数的值,状态转移方程为:dp[i] = dp[i-3] + dp[i-2] + dp[i-1],初始化为 dp[0] = 0,dp[1] = dp[2] = 1,填表顺序:从下标小的到下标大的(从左向右),返回值:第N个下表对应的值。

首先,我们要先判断所给n的值,当n大于等于3时,我们可以通过一个fori循环初始化i=3、i<=n直接的到结果。
1.3 代码实现

优化后:

1.4 复杂度
时间复杂度:O(N)
空间复杂度: O(N)
优化后:
时间复杂度:O(N)
空间复杂度: O(1)