《剑指offer》变态跳台阶

一、题目描述

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

二、输入描述

n级台阶

三、输出描述

一共有多少种不同的跳法

四、牛客网提供的框架

class Solution {
public:
    int jumpFloorII(int number) {

    }
};

五、解题思路

使用矩阵保存状态,后面的由前面的推导

六、代码

class Solution {
public:
    int jumpFloorII(int number) {
        if(number <= 2) return number;

        int result;

        int resultArray[number];
        resultArray[0] = 1;
        resultArray[1] = 2;

        for(int i = 3; i <= number; i++)
        {
            resultArray[i - 1] = 1;
            for(int j = 0; j < i - 1; j++)
            {
                resultArray[i - 1] += resultArray[j];
            }
        }

        result = resultArray[number - 1];
        return result;
    }
};
posted @ 2016-06-28 14:57  chenximcm  阅读(128)  评论(0编辑  收藏  举报