70. 爬楼梯

要求:每次可以爬一阶或两阶
思路:本题明显可以回溯,也可以动规,区别在于动规存中间数组dp,数组dp还可以用三个变量代替

class Solution {
public:
    int climbStairs(int n) {
        //dp[i]表示到i阶有多少种,则dp[i]=dp[i-1]+dp[i-2]
        int dp[n+1];
        dp[1]=1;dp[0]=1;
        for(int i=2;i<=n;++i)
            dp[i]=dp[i-1]+dp[i-2];
        return dp[n];
    }
};
上一篇:求数组最大值常用方法


下一篇:【leetcode】70. 爬楼梯(Java)