也是典型的DP問題,邊界:nums[1] = 1;nums[2] = 2; 狀態轉移方程: nums[i] = nums[i-1] + nums[i-2];
class Solution {
public:
int climbStairs(int n) {
if(n <= 0) return 0;
if(n < 3) return n;
vector<int> nums(n+1);
nums[1] = 1;
nums[2] = 2;
for(int i = 3; i < nums.size(); i++)
nums[i] = nums[i-1] + nums[i-2];
return nums[n];
}
};