首页 > 其他 > 详细

3:爬楼梯

时间:2017-03-08 21:12:08      阅读:473      评论:0      收藏:0      [点我收藏+]

描述:假设你正在爬楼梯,需要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 ;

    }

};

3:爬楼梯

原文:http://www.cnblogs.com/kyoxy/p/6522902.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!