变态跳台阶
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
分析
设 级台阶有
种跳法,根据最后一次跳台阶的数目可以分解为最后一次一级,则前面需要跳
级,有
种跳法;最后一次跳两级,则前面需要跳
级,有
种跳法。以此类推 易知,
$$
两式相减得,
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, n):
if n<0:
return 0
ans = 1
for i in range(1,n):
ans = 2*ans
return ans 
京公网安备 11010502036488号