1. 程式人生 > >劍指offer-9-Python實現斐波那契(Fibonacci)數列

劍指offer-9-Python實現斐波那契(Fibonacci)數列

題目內容:

這裡寫圖片描述

數列為:1,1,2,3,5,8…

解法一:遞迴方法

def JumpFloor(n):
    if(n==0):return 0
    elif(n==1):return 1
    elif(n==2):return 1
    else: 
        return JumpFloor(n-1)+JumpFloor(n-2)

print JumpFloor(6)

#output:8

但遞迴方法會重複計算中間項,效率較低。

解法二:用陣列儲存

def Fibonacci( n):
    li = [0,1]
    for i in range(2
,n+1): li.append(li[i-1]+li[i-2]) return li[n] print Fibonacci(6) #output:8