应用:
Python解法
方法1:递归。重复计算,容易超时。
方法2:迭代,保留前面结果。
#递归
class Solution:
def Fibonacci(self, n):
def helper(cur):
if cur == 0:return 0
if cur == 1:return 1
return helper(cur-1) + helper(cur-2)
return helper(n)
#迭代
class Solution:
def Fibonacci(self, n):
pre, cur = 0, 1
if n == 0:return pre
if n == 1:return cur
while n > 1 :
nxt = pre + cur
pre, cur = cur, nxt
n -= 1
return cur
考查