面試題10 斐波那契數列

2021-09-16 12:06:32 字數 1056 閱讀 9057

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 看著斐波拉契數列,突然想到了一句話很貼切,道生一,一生二,二生三,三生萬物.斐波拉契最簡...