class Solution {
public int climbStairs(int n) {
if(n < 4) return n;
int[] dp = new int[n + 1];
dp[0] = 0;
dp[1] = 1;
dp[2] = 2;
for(int i = 3; i <= n;i++){
for(int j = 1; j <= 2;j++){
dp[i] += dp[i - j];
}
}
return dp[n];
}
}
用完全背包做吧,可以取1或者取2,就把不取1和不取2的情况加上自己原本可以实现的情况累加在一起就是所有组合,因为是排列问题,所以物品在里。