3:爬楼梯

描述:假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?

样例

比如n=31+1+1=1+2=2+1=3,共有3中不同的方法

返回 3

 

class Solution {

public:

/**

* @param n: An integer

* @return: An integer

*/

long climbStairs(int n) {

    // write your code here

    if(n==0)

        return 1;

    long  s = 1;

    int i=1;

    int j=n-i;

    while(i<=j){

        s=s+(getCni(j,i)+0.1);

        i++;

        j=n-i;

    }

    return s;

}

long  getCni( long n,  long i){

    long  s = 1;

    for (int j = 0; j<i; j++ ){

        s = s*( n - j )/(j+1);

    }

    return s ;

    }

};

posted on   kyoxy  阅读(67)  评论(0)    收藏  举报

< 2025年4月 >
30 31 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 1 2 3
4 5 6 7 8 9 10

统计

点击右上角即可分享
微信分享提示