劍指Offer 面試題10斐波那契數列

2021-10-23 11:35:30 字數 789 閱讀 2412

劍指offer面試題彙總

題目描述

寫乙個函式,輸入 n ,求斐波那契(fibonacci)數列的第 n 項。斐波那契數列的定義如下:

f(0) = 0, f(1) = 1

f(n) = f(n - 1) + f(n - 2), 其中 n > 1.

斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

輸入輸出

輸入:n = 5

輸出:5

解決方案

省去重複計算的過程

public

intfib

(int n);if

(n<=2)

for(

int i=

3;i<=n;i++

)return fb[2]

%1000000007

;}

舉一反三

青蛙跳台問題

乙隻青蛙一次可以跳上1級台階,也可以跳上2級台階。求該青蛙跳上乙個 n 級的台階總共有多少種跳法。

答案需要取模 1e9+7(1000000007),如計算初始結果為:1000000008,請返回 1。

解決方法就是斐波那契數列解決方法。

Java 劍指offer 面試題10 斐波那契數列

求斐波那契數列的第n項 遞迴 遞迴法實現起來簡單,但是因為會計算重複的節點,這就意味著計算量會隨著n的增大急劇增大。當計算n 50,第50項的時候已經相當耗時 非遞迴 可以採用迴圈,先得到f 0 f 1 相加得到f 2 再相加得到f 3 再得到f 4 依次得到f n 寫乙個函式,輸入n,求斐波那契數...

(劍指offer)面試題10 斐波那契數列

大家都知道斐波那契數列,現在要求輸入乙個整數n,請你輸出斐波那契數列的第n項。變形 青蛙跳台,乙隻青蛙可以一次跳1個台階,也可以一次跳2個台階。求該青蛙跳上n級台階總共多少種跳法 class solution def fibonacci self,n temparray 0,1 初始值0,1 if ...

劍指offer 面試題10 斐波那契數列

青蛙跳台 跳台階 題目 寫乙個函式,輸入n,求斐波那契 fibonacci 數列的第n項。斐波那契數列的定義如下 f n 0 text 1 text f n 1 f n 2 text end f n 01f n 1 f n 2 n 0 n 1n 1 class solution def fab se...