class Solution {
public:
int climbStairs(int n) {
vector<int> dp(n + 1);
if(n == 1)
return 1;
if(n == 2)
return 2;
dp[0] = 1;
dp[1] = 2;
for(auto i = 2; i < n; ++i)
dp[i] = dp[i - 1] + dp[i - 2];
return dp[n - 1];
}
};
Accepted
45/45 cases passed (0 ms)
Your runtime beats 100 % of cpp submissions
Your memory usage beats 13.14 % of cpp submissions (6.1 MB)
化简后
class Solution {
public:
int climbStairs(int n) {
int fir = 0, sec = 0, sum = 1;
for(int i = 1; i <= n; ++i){
fir = sec;
sec = sum;
sum = fir + sec;
}
return sum;
}
};
Accepted
45/45 cases passed (0 ms)
Your runtime beats 100 % of cpp submissions
Your memory usage beats 75.42 % of cpp submissions (5.8 MB)