关于爬楼梯的lintcode代码

讲真的,这个我只会用递归去做,但是lintcode上面超时,所以只有在网上找了个动态规划的,虽然这个程序懂了,但是我觉得还是挺不容易的真正弄懂的话……

class Solution {
public:
    /**
     * @param n: An integer
     * @return: An integer
     */
   
 int climbStairs(int n) {
        // write your code here
        int a = 1, b = 1, k = 0;
        if(n == 1 || n ==0){
            return 1;
        }
        while(--n > 0){
            k = a+b;
            b = a;
            a = k ;       
        }
        return k;
    }
};

posted @ 2017-03-07 22:39  muzi_ln  阅读(190)  评论(0编辑  收藏  举报