变态跳台阶

来源:互联网 发布:网络校时ntpclock 编辑:程序博客网 时间:2024/05/16 23:41
题目描述


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


思路:和跳台阶不同的是每次跳有n种不同的高度。所以我们需要记录每一次跳跃的有多少种跳法,最后将这些相加。


C/C++代码:

class Solution{public:    int jumpFloorII(int number)    {        if(number == 1)        {            return 1;        }        else if(number == 2)        {            return 2;        }        else        {            int *record = new int[number + 1];            record[0] = 1;            record[1] = 1;            record[2] = 2;            for(int i = 3; i <= number; i++)            {                int j = i;                int sum = 0;                while(j >= 0)                {                    sum += record[j];                    j--;                }                record[i] = sum;            }            return record[number];        }    }};


0 0
原创粉丝点击