Leecode70 climbing-stairs

题目描述

你在爬楼梯,需要n步才能爬到楼梯顶部
每次你只能向上爬1步或者2步。有多少种方法可以爬到楼梯顶部?

分析

  • 抽象成斐波那契数列问题。
  • 先初始化前两个元素,再用递推关系。

java 代码

public class Solution {
    public int climbStairs(int n) {
        if(n <= 1){return 1;}
        if(n == 2){return 2;}
        int res = 0;  
         //斐波那契数列问题
        // 1 2 3 5 7 13 ***
        //初始化前两个
        int pre = 1;
        int next = 2;      
        for(int i = 0; i < n-2; i++){
            //拿第一个循环说 res == 3
            res = pre + next;
            //向前移动 pre ==2
            pre = next;
            // next == 3
            next = res;
        }
        return res;      
    }
}
发布了72 篇原创文章 · 获赞 0 · 访问量 729

猜你喜欢

转载自blog.csdn.net/weixin_40300702/article/details/105406403