01. 第 N 个泰波那契数
题目链接:
题目描述:

题目示例:

算法原理(动态规划):
思路:
1. 状态表示: 这道题可以根据题目要求直接定义出状态表示:
dp[i] 表示:第 i 个泰波那契数的值
2. 状态转移方程:
题目已经给出了递推公式:dp[i] = dp[i-1] + dp[i-2] + dp[i-3]
3. 初始化
从递推公式可以看出,dp[i] 在 i=0 以及 i=1 的时候无法进行推导,因为 dp[-2] 或 dp[-1] 不是有效数据。因此需要在填表之前,将 0, 1, 2 位置的值初始化。题目中已知 dp[0] = 0, dp[1] = dp[2] = 1。
4. 填表顺序 毫无疑问是【从左往右】。
5. 返回值
应该返回 dp[n] 的值。

解法代码(C++):
class Solution {
public:
int tribonacci(int n) {
// 处理边界情况
if (n == 0) ;
(n == || n == ) ;
a = , b = , c = , d = ;
( i = ; i <= n; i++) {
d = a + b + c;
a = b;
b = c;
c = d;
}
d;
}
};








