其他分享
首页 > 其他分享> > 爬楼梯

爬楼梯

作者:互联网

 

这是一道小学数奥题。

现在我们画图模拟下

这里我们从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