面試題10 斐波那契數列

2021-09-25 06:08:16 字數 681 閱讀 1816

// 面試題10:斐波那契數列

// 題目:寫乙個函式,輸入n,求斐波那契(fibonacci)數列的第n項。

fibonacci數列,不用多說,相信大家都了解,f(0)=0,f(1)=1,f(n)=f(n-1)+f(n-2)(n>=2)。

看著斐波拉契數列,突然想到了一句話很貼切,道生一,一生二,二生三,三生萬物...

斐波拉契最簡單的寫法就是遞迴,函式簡介易懂,但是由於執行過程中需要不斷的呼叫自身,時間複雜度比較高,

而且使用遞迴的話,會有大量重複不必要的計算產生,我們可以使用迭代來改寫遞迴,提高執行效率。

這個東西以前演算法課應該講過的,好像當初還講了第三種方法,就是利用矩陣來求,劍指offer裡面也講到了,先這樣吧。

long long fibonacci_solution1(unsigned n) 

long long fibonacci_solution2(unsigned n) ;

if (n < 2)

return a[n];

long long fibone = 0;

long long fibtwo = 1;

long long fibn = 0;

for (int i = 2; i <= n; i++)

return fibn;

}

面試題10 斐波那契數列

面試題10 斐波那契數列 題目一 求斐波那契數列數列的第n項 現在要求輸入乙個整數 n,請你輸出斐波那契數列的第n項 思路 遞迴的效率低,使用迴圈 authorjuaner publicclassfibonacci1 publiclongfibonacci intn if n 1 for inti ...

面試題10 斐波那契數列

面試題10 斐波那契數列 題目 寫乙個函式,輸入n,求斐波那契 fibonacci 數列的第n項。fibonacci數列,不用多說,相信大家都了解,f 0 0,f 1 1,f n f n 1 f n 2 n 2 看著斐波拉契數列,突然想到了一句話很貼切,道生一,一生二,二生三,三生萬物.斐波拉契最簡...

面試題10 斐波那契數列

f 0 0 f 1 1 f n f n 1 f n 2 n 2 遞迴求解 public static long fib int n 為什麼說遞迴不好呢?採用迴圈的方式 順序計算,先定義f0,f1的值,根據n去迴圈,這樣需要儲存前兩個數的值,效率提公升了很多 int res if n 2 return...