题目描述
大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0)。
n<=39
思路:
斐波那契数列的第一项和第二项分别为1、1,从第三项开始符合公式:f(n) = f(n-1) + f(n-2)
Solution:
Python
(1)
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
if n == 0:
return 0
if n <= 2:
return 1
fibonacci = [0,1,1]
for i in range(3,n+1):
fibonacci.append(fibonacci[-1] + fibonacci[-2])
return fibonacci[-1]
(2)更节省内存
# -*- coding:utf-8 -*-
class Solution:
def Fibonacci(self, n):
# write code here
if n == 0:
return 0
if n <= 2:
return 1
#fibonacci = [0,1,1]
a,b =1,1
for i in range(3,n+1):
tmp = a+b
a = b
b = tmp
return b