前言:
牛客網 c++ 劍指Offer_編程題 第七題斐波那契數列
題目:
斐波那契數列的定義
這個不算難 上來就想到用遞歸實現 但是遞歸的時間複雜度有點長,不合格
普通方式實現 code
class Solution {
public:
int Fibonacci(int n) {
if(n < 0)
return 0;
if(n ==0 || n == 1 )
return n;
if(n == 2)
return 1;
int f1 = 1;
int f2 = 1;
int fn = 0;
for(int i = 2; i< n;i++)
{
fn = f1+f2; //第三項 = 前兩項的和
f1 = f2;
f2 = fn;
}
return fn;
}
};