509. 斐波那契数
✅做题思路or感想
直接dp四部曲(第五步是调试,故省)
dp数组的含义
- 当值为n时,斐波那契数列
f(n)
的值
递推公式
- 题目已经给了:F(n) = F(n - 1) + F(n - 2),其中 n > 1
初始化
- 因为要确保
n-2 >= 0
,故这里要初始化到dp[1]
,而dp[1],dp[0]
的值题目已经给了
遍历顺序
- 因为从递推公式知道,后来的值是由前面的值推出,故从小到大
class Solution {
public:
int fib(int n) {
int f[50] = {0};
f[0] = 0;
f[1] = 1;
if (n < 2)return f[n];
for (int i = 2; i <= n; i++) {
f[i] = f[i - 1] + f[i - 2];
}
return f[n];
}
};