题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
n≤39

解法

   //解法:动归
    // dp[i]: f(i) 斐波那契数
    // dp[i] = dp[i-1] + dp[i-2]
    // dp[0] = 0, dp[1] = 1
    // 时间:O(n) 空间O(1)
    int Fibonacci(int n) {
        if (n == 0 || n == 1) return n;
        int f2 = 0, f1 = 1;
        int ans = 0;
        for (int i = 2; i <= n; i++) {
            ans = f1 + f2;
            f2 = f1;
            f1 = ans;
        }
        return ans;
    }