题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
仔细分析,其实这是一个斐波那契数列,从第n阶分析,跳到第n阶可以从第n-1阶和第n-2阶跳,这两种的跳法都不同,故可以得到step(n) = step(n-1)+step(n-2).
所以仍然是斐波那契数列。只是初始化的值不同而已。
def jumpFloor(number):
if number == 1:
return 1
elif number == 2:
return 2
step1 = 1
step2 = 2
for i in range(3,number+1):
currentStep = step1 + step2
step1 = step2
step2 = currentStep
return currentStep