跳台阶
题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
解题思路
当前台阶的跳法种数 = 当前台阶后退一个台阶的跳法总数 + 当前台阶后退两个台阶的跳法总数
即:f (n) = f (n-1) + f (n-2)
问题则变得和斐波那契数列很相似了,但初值有一点区别。
代码
class Solution:
def jumpFloor(self, number):
# write code here
if number < 3:
return number
a = [0,1,2]
for i in range(3, number+1):
a.append(a[i-1] + a[i-2])
return a[number]