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

2021-09-25 10:23:34 字數 670 閱讀 2524

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

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

class solution:

def fibonacci(self,n):

temparray=[0,1] # 初始值0,1

if n>=2:

for i in range(2,n+1): # 偶數改變第乙個索引對的值,奇數改變第二個索引對的值

temparray[i%2] = temparray[0]+temparray[1]

return temparray[n%2] # 按照奇偶返回

def jumpfloor(self,number): #青蛙跳,第一級1種跳法(只跳乙個台階),二級2種跳法(跳乙個台階2次或跳2個台階)

temarray=[1,2]

if number>=3:

for i in range(3,number+1):

temarray[(i+1)%2]=temarray[0]+temarray[1]

return temarray[(number+1)%2]

s = solution()

print(s.fibonacci(5))

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

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

劍指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...

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

劍指offer面試題彙總 題目描述 寫乙個函式,輸入 n 求斐波那契 fibonacci 數列的第 n 項。斐波那契數列的定義如下 f 0 0,f 1 1 f n f n 1 f n 2 其中 n 1.斐波那契數列由 0 和 1 開始,之後的斐波那契數就是由之前的兩數相加而得出。答案需要取模 1e9...