题目如下![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/738844796d4573d908d8a9099940a0ee.png)
解题方法一:递归(时间复杂度O(2^n))
class Solution1:
def fibonacci(self,n):
if n == 0 or n == 1:
return n
else:
return self.fibonacci(n-1)+self.fibonacci(n-2)
解题方法二:循环(时间复杂度O(n))
class Solution2:
def fibonacci(self,n):
if n == 0 or n == 1:
return n
else:
a = 0
b = 1
ret = 0
for i in range(3,n):
ret = a+b
a = b
b = ret
return ret
if __name__ == '__main__':
# s1 = Solution1()
# print(s1.fibonacci(10))
s2 = Solution2()
print(s2.fibonacci(100))
git链接:https://github.com/zuoVision/-offer