7 斐波那契數列

2021-10-03 01:51:03 字數 624 閱讀 3367

題目鏈結

題目描述

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項(從0開始,第0項為0)。

n<=39

fib(10) = fib(8) + fib(9);

fib(9) = fib(8) + fib(7);

在斐波那契數列中,如果fib(n)的n是一定的,那麼無論呼叫多少次都是相同的結果,而第二次呼叫f(n)無疑會重複計算,如果在第一次計算後將值儲存起來那麼就能優化很多。

時間複雜度o(n),空間複雜度o(n)。

class solution 

};

每一次運算只用到最近的兩個值,只需要不斷更新n-2和n-1的值即可,可以節省陣列的空間。

時間複雜度o(n),空間複雜度o(1)。

class solution 

else

if(n ==1)

int f0 =0;

int f1 =1;

int tmp;

for(

int i =

2; i <= n;

++i)

return f1;}}

;

7 斐波那契數列

思路 fibn fibone fibtwo fibone fibtwo fibtwo fibn public class solution return fibn 相似題目 1 乙隻青蛙一次可以跳上1級台階,也可以跳上2級。求該青蛙跳上乙個n級的台階總共有多少種跳法 先後次序不同算不同的結果 pub...

7 斐波那契數列

1 題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 2 思路 斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入,故又...

7 斐波那契數列

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 有兩種演算法 遞迴 遞迴中有很多重複的地方,從而對效能帶來很大的負擔 遞迴可能引起更大的問題 呼叫棧溢位 動態規劃 自下而上計算,時間複雜度大o n int fibonacci int n ...