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 res[n]
;long fib1 =0;
long fib2 =1;
long fib3 =0;
for(
int i =
2; i <= n; i++
)return fib3;
青蛙跳台階乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階, 跳上n級台階有多少種跳法?n = 1, res = 1
n = 2, res = 2;
n級可以表示成從 n-1 級跳一級 和從n-2級跳到n級。f(n) = f(n-1) + f(n-2)
//遞迴
public
static
longha(
int n)
//非遞迴
public
static
longha(
int n);if
(n <=2)
return res[n]
;long a =1;
long b =2;
long c =0;
for(
int i =
3; i <= n; i++
)return c;
}
面試題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 斐波那契數列
面試題10 斐波那契數列 題目 寫乙個函式,輸入n,求斐波那契 fibonacci 數列的第n項。fibonacci數列,不用多說,相信大家都了解,f 0 0,f 1 1,f n f n 1 f n 2 n 2 看著斐波拉契數列,突然想到了一句話很貼切,道生一,一生二,二生三,三生萬物.斐波拉契最簡...