首页 > 其他 > 详细

leetcode - Climbing Stairs

时间:2015-08-20 14:50:05      阅读:189      评论:0      收藏:0      [点我收藏+]

leetcode - Climbing Stairs

You are climbing a stair case. It takes n steps to reach to the top.

Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?

class Solution {
public:
    int climbStairs(int n) {
        //DP Solution
        int climbNum[100]={0,1,2};
        for( int i = 3; i <= n; i++ ){
            climbNum[i] = climbNum[i-1] + climbNum[i-2];            
        }
        return climbNum[n];
        
        
        
        // Recursion Solution:
        //if(n==1) return 1;
        //if(n==2) return 2;
        //return climbStairs(n-1)+climbStairs(n-2);
        
    }
};

递归解会导致TLE,需要使用动态规划。

leetcode - Climbing Stairs

原文:http://www.cnblogs.com/shnj/p/4744883.html

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