题目
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。
求该青蛙跳上一个n级的台阶总共有多少种跳法。
思路
ans[n]=ans[n-1]+ans[n-2]+ans[n-3]+…+ans[n-n],
ans[n-1]=ans[n-2]+ans[n-3]+…+ans[n-n],
ans[n]=2*ans[n-1]。
解答
方法一
class Solution:
def jumpFloorII(self, number):
if number == 1:
return 1
ret = 1
a = 1
for i in range(2, number+1):
ret = 2 * a
a = ret
return ret
方法二
class Solution:
def jumpFloorII(self, number):
return pow(2, number-1)