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];
    }
};
posted @ 2022-04-05 16:18  北原春希  阅读(21)  评论(0)    收藏  举报