【剑指Offer学习】【面试题9 : 斐波那契数列】

int fib(int n) {
    if(n<=0) {
        return 0;
    }
    if (n==1 || n==2) {
        return 1;
    }
    if (n>2) {
        return fib(n-1) + fib(n-2);
    }
    return 0;
}

int fibo(int n) {
    if(n<=0) {
        return 0;
    }
    if (n==1 || n==2) {
        return 1;
    }
    int pre = 1; //fibo(2)
    int prepre = 1; //fibo(1)
    int current = 2; //fibo(3)
    // 记录中间数值
    for (int i=3; i<=n; i++) {
        current = pre + prepre;
        prepre = pre;
        pre = current;
    }
    return current;
}

https://www.cnblogs.com/iwiniwin/p/10798884.html

https://blog.csdn.net/derrantcm/article/details/45476095

发布了81 篇原创文章 · 获赞 68 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/li198847/article/details/104413033