题目内容:
数列为:1,1,2,3,5,8…
解法一:递归方法
def JumpFloor(n):
if(n==0):return 0
elif(n==1):return 1
elif(n==2):return 1
else:
return JumpFloor(n-1)+JumpFloor(n-2)
print JumpFloor(6)
#output:8
但递归方法会重复计算中间项,效率较低。
解法二:用数组存储
def Fibonacci( n):
li = [0,1]
for i in range(2,n+1):
li.append(li[i-1]+li[i-2])
return li[n]
print Fibonacci(6)
#output:8