1. 题目描述
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。
2. 题目分析
与题目跳台阶1的主要区别是,不仅仅每次只能跳1个或者2个台阶,解决思路与跳台阶1相同:
假设最后一次跳一个台阶,则;
假设最后一次跳2个台阶,则;
以此类推,可以推到最后一次跳n个台阶,则,即一下子跳完;
综合所有情况:
这是一个等比数列,即,因为
3. 代码
# -*- coding:utf-8 -*-
class Solution:
def jumpFloorII(self, number):
# write code here
return 2**(number-1)