劍指offer 7 斐波那契數列

2021-07-31 00:27:14 字數 789 閱讀 9797

題目:

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

n<=39

思路:看到斐波那契數列就想有用遞迴的衝動,沒錯,剛開始我看了就往那個方向去想了,而且遞迴**只需要幾行就行了,

if(n<=1)returnn;

elsereturnfibonacci(n-1)+fibonacci(n-2);

不要忘了n可以從0開始,而且用遞迴有乙個明顯的缺點,時間複雜度很大,有可能產生溢位,所以必須放棄遞迴,除非實在想不到方法,除了遞迴還有迭代,

其實用迭代的思想不難,定義第乙個數和第二個數,再定義乙個target,然後逐步迭代過程中,不斷更新這三個數,這樣時間複雜度大大降低。

class solution 

return target;

}};

劍指Offer (7)斐波那契數列

題目說明 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。n 39 實現如下 0 1 1 2 3 5 8 13 21.簡潔的遞迴,但是注意消除重複計算項,採用map儲存已計算的n的value class solution else return it second 若之...

《劍指Offer》7 斐波那契數列

題目 7.斐波那契數列 知識點 遞迴 動態規劃 題目描述 大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 解題思路 思路比較簡單,動態規劃和遞迴遞迴都可以實現,不做過多贅述。解法一 自研 int fibonacci int n 解法二 劍...

劍指offer7 斐波那契數列

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項 從0開始,第0項為0 n 39 首先貼乙個斐波那契數列的定義 斐波那契數列 fibonacci sequence 又稱 分割數列 因數學家列昂納多 斐波那契 leonardoda fibonacci 以兔子繁殖為例子而引入...