剑指Offer6

斐波那契数列

https://www.nowcoder.com/practice/c6c7742f5ba7442aada113136ddea0c3?tpId=13&tqId=11160&tPage=1&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking&from=cyc_github

题目

思路

使用递归会重复计算子问题,考虑动态规划,对重复子问题进行缓存

Code

class Solution {
public:
    int Fibonacci(int n) {
        if(n <= 1)
            return n;
        return Fibonacci(n-1) + Fibonacci(n-2);
    }
};

class Solution {
public:
    int Fibonacci(int n) {
        if(n <= 1)
            return n;
        int pre1 = 1 , pre2 = 0,res = 0;
        for(int i = 2; i <= n; i++)
        {
            res = pre1 + pre2;
            pre2 = pre1;
            pre1 = res;
        }
        return res;
    }
};
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务