原题
一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。
Reference Answer
解题思路:
典型回溯法,递归也能用,就是效率低。
# -*- coding:utf-8 -*-
class Solution:
def jumpFloor(self, number):
# write code here
res = []
res.append(0)
res.append(1)
res.append(2)
#res[n] = res[n-1] + res[n-2]
if number > 2:
for i in range(3, number+1):
res.append(res[i-2] + res[i-1])
return res[number]