题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。n<=39
解题笔记
- 注意费波那契是从 0 开始,数列爲 [0, 1, 1, 2, …]
- 若直接使用递归会不符合空间与时间复杂度的要求,因爲递归会造成不必要的重复节点计算,故先以一个
f_list
做暂存。
Python代码
class Solution:
def Fibonacci(self, n):
# write code here
# 先保存至f_list, 不重复计算
f_list = [0,1,1]
i = 3
while i<=n:
f_list.append(f_list[i-1]+f_list[i-2])
i+=1
return f_list[n]