这个题应该是用动态规划做吧,暂时还没有接触。
我想到的方法是分别处理有1,2,3等个2阶的时候,用C(I,N),也就是数学上的组合来解决。
这个方法是参考的别人的解法
class Solution {
public int climbStairs(int n) {
int res1 =1, res2 = 2,res = 0;
if(n==1)return 1;
else if(n==2) return 2;
for (int i = 3; i <= n; i++) {
res = res1 + res2;
res1 = res2;
res2 =res;
}
return res;
}
}