变态跳台阶
一只青蛙一次可以跳上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