当前位置:网站首页>力扣:509. 斐波那契数

力扣:509. 斐波那契数

2022-08-04 05:14:00 empty__barrel

力扣:509. 斐波那契数
斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是:

F(0) = 0,F(1) = 1
F(n) = F(n - 1) + F(n - 2),其中 n > 1
给定 n ,请计算 F(n) 。

普通代码:

class Solution {
    
public:
    int fib(int N) {
    
        if (N <= 1) return N;
        vector<int> dp(N + 1);
        dp[0] = 0;
        dp[1] = 1;
        for (int i = 2; i <= N; i++) {
    
            dp[i] = dp[i - 1] + dp[i - 2];
        }
        return dp[N];
    }
};

代码:其实只需要维护两个数值即可

class Solution {
    
public:
    int fib(int n) {
    
        if(n<=1) return n;
        int dp[2];
        dp[0] = 0;
        dp[1] = 1;
        for(int i = 2; i <= n; ++i){
    
           int t = dp[0]+dp[1];
           dp[0] = dp[1];
           dp[1] = t;
        }
        return dp[1];
    }
};
原网站

版权声明
本文为[empty__barrel]所创,转载请带上原文链接,感谢
https://blog.csdn.net/qq_56762247/article/details/126087847