LeetCode 70. 爬楼梯

在上一个斐波那契数组的解题之后,终于独立做出了这道题。依旧得益于5个固定解题步骤+做上一题时溢出的错误经验。

做的时候借助画图来理解了(树)LeetCode 70. 爬楼梯_第1张图片

class Solution {
public:
    int climbStairs(int n) 
    {
        vector<int> dp(n+1); // 第n层有dp[n]种方法
        dp[1] = 1;
        if (n > 1)
            dp[2] = 2;
        if (n > 2)
        {
            for(int i = 3;i <= n; ++i)
            {
                dp[i] = dp[i-1] + dp[i-2];
            }
        }
        return dp[n];

       /* 1. 确定dp数组(dp table)以及下标的含义
        2. 确定递推公式
        3. dp数组如何初始化
        4. 确定遍历顺序
        5. 举例推导dp数组*/

    }
};

你可能感兴趣的:(leetcode,算法,动态规划)