题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
n<=39
递归解法
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
if n == 0:
res = 0
elif n == 1:
res = 1
else:
res = self.Fibonacci(n-1)+self.Fibonacci(n-2)
return res
溢出复杂度太高
修改后
循环解法
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
res = 0
pnum = 1
ppnum = 0
# write code here
if n == 0:
res = 0
elif n == 1:
res = 1
else:
for i in range(2,n+1):
res = pnum + ppnum
ppnum = pnum
pnum = res
return res