【leetcode 动态规划 C++】【剑指 Offer】 10- I. 斐波那契数列

剑指 Offer 10- I. 斐波那契数列

在这里插入图片描述

class Solution {
    
    
public:
    static const long long mod = 1e9 + 7;
    int fib(int n) {
    
    
        if(n == 0 || n == 1) return n;
        int a = 0, b = 1;
        for(int ii = 2; ii <= n; ii++) {
    
    
            int temp = b;
            b = (int)(a + b) % mod;
            a = temp;
        }
        return b;
    }
};

在这里插入图片描述

class Solution {
    
    
public:
    static const long long mod = 1e9 + 7;
    int fib(int n) {
    
    
        if(n == 0 || n == 1) return n;
        vector<int> dp(n+1, -1);
        dp[0] = 0;
        dp[1] = 1;
        for(int ii = 2; ii <= n; ii++) {
    
    
            long long a = dp[ii - 1], b = dp[ii - 2];
            dp[ii] = (int)(a + b) % mod;
        }
        return dp[n];

    }
};

在这里插入图片描述

class Solution {
    
    
public:
    static const long long mod = 1e9 + 7;
    vector<int> V = vector<int>(110, -1);
    int fib(int n) {
    
    
        if(n == 0 || n == 1) return n;
        if(V[n] != -1) return V[n];
        long long a = fib(n - 1), b = fib(n - 2);
        V[n] = (int)((a + b) % mod);
        return V[n];
    }
};

猜你喜欢

转载自blog.csdn.net/m0_37454852/article/details/114386268