70. 爬楼梯 (进阶)

class Solution {
public:
    int climbStairs(int n) {
        int m = 2;
        // dp[i] -> 爬到有i个台阶的楼顶,有dp[i]种方法
        vector<int> dp(1+n);
        dp[0]=1;
        for(int i=0;i<=n;i++) {
            for(int j=1;j<=m;j++) {
                if(i-j>=0)
                    dp[i]+=dp[i-j];
            }
        }
        return dp[n];
    }
};