Python 遞歸實現斐波那契數列
斐波那契數列就是除第一項和第二項外,每項都等於前兩項的和的一串數列,即第N
項的值爲F(N-2) + F(N-1)
,LeetCode 原題如下:
斐波那契數,通常用 F(n) 表示,形成的序列稱爲斐波那契數列。該數列由 0 和 1 開始,後面的每一項數字都是前面兩項數字的和。也就是:
F(0) = 0, F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N > 1.
給定 N,計算 F(N)。
很明顯,斐波那契數列的性質完全可以通過遞歸的方式來實現,實際上它也是理解遞歸的經典問題,代碼如下:
class Solution(object):
def fib(self, N):
"""
:type N: int
:rtype: int
"""
if N == 0:
return 0
elif N == 1:
return 1
else:
return (self.fib(N - 2) + self.fib(N - 1))