斐波那契数列

来源:互联网 发布:淘宝首页html代码示例 编辑:程序博客网 时间:2024/04/24 15:50

大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。

说明:首先想到的是递归,因为斐波那契数列就是递归思想,递推式为f(n)=f(n-1)+f(n-2)(n大于等于2)

但是!反复的递归效率太低了,导致程序一下子就会运行超时,因此,可以用循环来实现,将每次加法后的结果都记录下来即可。感觉有点空间换取时间的味道,不过有人写的空间复杂度为o(1),我也是没太想明白,有空再想想吧~~~

class Solution {public:    int Fibonacci(int n) {int fi[10000]={0};        fi[1]=1;        fi[2]=1;        for(int i=3;i<=n;i++)           {            fi[i] = fi[i-1]+fi[i-2];        }        return fi[n];    }};


0 0