0 1 1 2 3 5 8
最后一项等于前两项的和,可以用递归,但是效率过低
class Solution:
def Fibonacci(self, n):
# write code here
if n == 0 or n == 1:
return n
elif n > 1:
return self.Fibonacci(n-1) + self.Fibonacci(n-2)
if __name__ == '__main__':
s = Solution().Fibonacci(5)
print(s)
使用循环,先把头两项 算出来
class Solution:
def Fibonacci(self, n):
# write code here
if n == 0 or n == 1:
return n
elif n > 1:
a = 0
b = 1
res = 0
for i in range(n-1):
res = a + b
a = b
b = res
return res
if __name__ == '__main__':
s = Solution().Fibonacci(5)
print(s)