1.迭代
def f2(n):
a,b = 0,1
for i in range(n):
a,b = b, a+b
print(a)
2、递归
def f(n):
if n == 1:
return 1
elif n == 2:
return 1
else:
return (f(n-1)+f(n-2))
3、动态规划
非常牛的算法,时间复杂度O(n)
def f3(n):
ans = list(range(n+1))
for i in range(n+1):
if i <2:
ans[i] = i
else:
ans[i] = ans[i-1] + ans[i-2]
return ans[-1]