剑指offer---斐波那契数列

题目:斐波那契数列

要求:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39

1 class Solution {
2 public:
3     int Fibonacci(int n) {
4 
5     }
6 };

解题代码:

 1 class Solution {
 2 public:
 3     int Fibonacci(int n) {
 4         int res[2] = {0, 1};
 5         if(n < 2)
 6             return res[n];
 7         long long fn;
 8         long long f1 = 0;
 9         long long f2 = 1;
10         for(int i=2; i<=n; i++){
11             fn = f1 + f2;
12             f1 = f2;
13             f2 = fn;
14         }
15         return fn;
16     }
17 };

 

注意:此题如果使用经典的递归方法,时间复杂度高,运行超时。

posted on 2018-10-24 11:14  wangzhch  阅读(124)  评论(0编辑  收藏  举报

导航