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

本文介绍了一个经典的动态规划问题——爬楼梯问题,并提供了一种使用动态规划算法的解决方案。通过递推公式,我们可以在O(n)的时间复杂度内求解出爬到第n级楼梯的不同方式的数量。

被折叠的 条评论
为什么被折叠?



