151
社区成员
发帖
与我相关
我的任务
分享
class Solution {
public:
int climbStairs(int n) {
if(n==1) return 1;
if(n==2) return 2;
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];
}
};
根据规律可知,方法个数是一个斐波那契数列,从第三项开始枚举即可