这题有点坑没给范围,我取得10万,然后超级简单,因为每一步有多少个完全取决于他前面一阶的和前面两阶的,因此初始化p[0]=1,p[1]=1 ,然后根据p[n]=p[n-1]+p[n-2]递推即可,代码如下
class Solution {
public:
int climbStairs(int n) {
int p[100000];
p[0]=1;
p[1]=1;
for(int i=2;i<=n;i++)
{
p[i]=p[i-1]+p[i-2];
}
return p[n];
}
};