变态跳台阶

来源:互联网 发布:seo关键字是什么意思 编辑:程序博客网 时间:2024/05/01 13:33

题目描述:

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

解题思路:

继跳台阶之后,变态跳台阶隆重登场,还是上面的那种递推,但是这次的递推是f(n)=f(n-1)+f(n-2)+f(n-3)+…+f(1)+1;为什么加1呢,那是因为前面的n-1项代表的是第一次跳i个台阶,会有多少种情况,而最后一项是一次性跳n个台阶,只有一种情况。

C++代码:

class Solution {public:    int jumpFloorII(int number) {        int sum=0;        if(number <= 0)            return 0;        else if(number==1||number==2)            return number;        else{            for(int i=1;i<number;i++)            {                sum+=jumpFloorII(number-i);            }            sum+=1;            return sum;        }                    }};


原创粉丝点击