时间限制:1秒 空间限制:32768K 热度指数:410368
题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
题目分析
经典的递推问题结果数满足一个公式,从简单的开始推导结果。
n 结果 f(n) 0 0 1 1 2 1 3 2 4 3 n f(n-1) + f(n-2)
下面是代码实现,当n<=2时,返回定义好的数组,当大于2时,开始进行循环计算。相比于递归算法,时间复杂度要小,因为每次计算的结果都保存了下来。
Tips:
在python中,list(range(4)) = [0,1,2,3] 是不包含4这个元素的,要注意。
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
re = [0,1,1]
if n<=2:
return re[n]
for i in range(3,n+1):
re.append(re[i-1] + re[i-2])
return re[n]