zoukankan      html  css  js  c++  java
  • 【力扣】70. 爬楼梯

    假设你正在爬楼梯。需要 n 阶你才能到达楼顶。

    每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

    注意:给定 n 是一个正整数。

    示例 1:

    输入: 2
    输出: 2
    解释: 有两种方法可以爬到楼顶。
    1. 1 阶 + 1 阶
    2. 2 阶
    示例 2:

    输入: 3
    输出: 3
    解释: 有三种方法可以爬到楼顶。
    1. 1 阶 + 1 阶 + 1 阶
    2. 1 阶 + 2 阶
    3. 2 阶 + 1 阶

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/climbing-stairs
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

    public int climbStairs(int n) {
    
            //当前为1 为1 种
            //当前为2 可能性为2种:1+1
            //当前为3 可能性为3种 1 + 1 + 1
            //当前为4 可能性为 5 种
            // 1+ 1+ 1 + 1
            // 1 + 1 + 2
            // 1 + 2 + 1
            // 2 + 1 + 1
            // 2 + 2
    
            //当前为5 可能性为:3 + 5 = 8
            // 1 + 1 + 1 + 1 + 1
            // 1 + 1 + 1 + 2
            // 1 + 1 + 2 + 1
            // 1 + 2 + 1 + 1
            // 2 + 1 + 1 + 1
            // 2 + 2 + 1
            // 2 + 1 + 2
            // 1 + 2 + 2
            if(n <= 2){
                return n;
            }
            int start = 1;
            int end = 2;
            int temp = start;
    
            for(int i = 3; i<= n ; i++){
                temp = start;
                start = end;
                end = temp + end;
            }
            return end;
        }
        //时间复杂度 O(n)
        //空间复杂度 O(1)
    一个入行不久的Java开发,越学习越感觉知识太多,自身了解太少,只能不断追寻
  • 相关阅读:
    python基础4
    python的基础数据类型和编码
    python的if语句和while循环
    java特殊运算符
    深入理解java集合
    python常用模块
    python函数的参数问题
    集合关系之间的运算
    集合
    可变类型与不可变类型
  • 原文地址:https://www.cnblogs.com/fengtingxin/p/14239136.html
Copyright © 2011-2022 走看看