爬楼梯
作者:互联网
这是一道小学数奥题。
现在我们画图模拟下
这里我们从0层楼梯开始跳,看出来,我们 跳到1只能从0开始,所以1等于跳到0台阶的次数为1,所以我们0台阶也初始化为1,2可以从0和1调过来,也就是1+1,3可以由1和2跳过来,1+2,;
4可以由2和3跳过来,2+3;
如此我们只需要三个数就可以完成整个循环。
我们可以先把a初始化为第一个数,b初始化为第二个数,c初始化为第三个数。
这样就可以开始做了
这里我们已经从1开始进行n-1次迭代便可得到到第n个数的次数。
最后我们使b=c,因为c是在循环里面定义的,最后返回b即可
class Solution {
public:
int climbStairs(int n) {
int a=1,b=1;
while(--n){
int c=a+b;
a=b,b=c;
}
return b;
}
};
标签:初始化,爬楼梯,int,可以,跳到,跳过来,我们 来源: https://blog.csdn.net/m0_62000951/article/details/122764109