Climbing Stairs

最后一步只可能是1或2,所以每一种方案n都是方案n-1和方案n-2的和,其实是斐波那契数列。

    int climbStairs(int n) {
        int result[1000];
        // Start typing your C/C++ solution below
        // DO NOT write int main() function
        result[0] = 1;
        result[1] = 1;
        result[2] = 2;
        if(result[n] != 0)
            return result[n];
        else {
            result[n] = climbStairs(n-1)+climbStairs(n-2);
            return result[n];
        }
    }

 

posted on 2013-09-22 21:20  waruzhi  阅读(157)  评论(0编辑  收藏  举报

导航