[剑指offer]变态跳台阶

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

class Solution {
public:
    int jumpFloorII(int number) {
        if(number < 2)
            return number;
        else{
            /*
            这他妈完全就是一个归纳总结的数学题啊!
            假设只有1级台阶,那青蛙只有a_1=1种跳法;
            假设有2级台阶,那么2可以分成1+1,则有a_2=a_1+a_1种跳法;
            假设有3级台阶,那么3可以分成1+22+1,则有a_1+a_2+a_2+a_1种跳法……
            以此类推:
            当有n级台阶的时候,那么n可以分成:n+1或者1+n,则有(a_{n-1}+a1)*2种跳法。
            */
            return jumpFloorII(number-1)*2;
        }
    }
};
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值