剑指offer-09-变态跳台阶※

变态跳台阶:

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

思路:
n级台阶就有n种n次跳上台阶的方法,比如n==3,就有1次/2次/3次跳上台阶的方法
所以f(n)=f(n-1)+f(n-2)+·····+f(1)
又因为 f(n-1)=f(n-2)+·····+f(1)
f(n-2)=f(n-3)+``+f(1)

可见f(n)=2*f(n-1)

class Solution {
public:
    int jumpFloorII(int number) {
        if (number <= 0) {
            return -1;
        } else if (number == 1) {
            return 1;
        } else {
            return 2 * jumpFloorII(number - 1);
        }
    }
};
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。