题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。
n<=39
思路:
只用递归的话会有重复计算,如上图。加入剪枝。
# -*- coding:utf-8 -*-
class Solution:
def __init__(self):
self.num = []
self.num.append(0)
self.num.append(1)
def Fibonacci(self, n):
# write code here
if n <= len(self.num) - 1:
return self.num[n]
else:
tmp = self.Fibonacci(n - 1) + self.Fibonacci(n - 2)
self.num.append(tmp)
return tmp