题目
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
思路
ans[n]=ans[n-1]+ans[n-2]
与斐波那契一样,唯一区别就是从1开始,而不是0
解答
class Solution:
def jumpFloor(self, number):
if number == 0:
return 0
if number == 1:
return 1
if number == 2:
return 2
ret = 0
a, b = 1, 2
for i in range(3, number + 1):
ret = a + b
a, b = b, ret
return ret