7. 斐波那契数列
F(1)=1,F(2)=1, F(n)=F(n - 1)+F(n - 2)(n ≥ 3,n ∈ N*)
题目描述:
现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。
解题思路:
1)第一种解法:递归
2)第二种解法:循环
实现代码如下:
class Solution:
def Fibonacci(self, n):
# write code here
# n=0,f(0)=0
# n=1,f(1)=1
# n=2,f(2)=1
# f(n)=f(n-1)+f(n-2)
'''
# 递归实现(会超时,时间复杂度为O(2^n))
if n<=1:
return n
return self.Fibonacci(n-1)+self.Fibonacci(n-2)
'''
# for循环解法(时间复杂度为o(n))
if n<=1:
return n
# 当n>1 f(n)=f(n-1)+f(n-2)
a=1
b=0
res=0
for i in range(0,n-1)