力扣由浅至深 每日一题.14 爬楼梯

因为困难多丧志,不叫红尘惑坚心

                                  —— 24.3.25

爬楼梯

提示

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

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

动态规划

思路和算法

在只有第一层和第二层楼梯时,上楼的方案我们已知,当n>=3时,采用斐波那契数列,f(n)=f(n-1)+f(n-2)

所以对n进行判断,可以直接解得题目

青蛙跳台问题与斐波那契数列问题的区别在于起始值不同

青蛙跳台阶问题: f(0)=1 , f(1)=1 , f(2)=2 。
斐波那契数列问题: f(0)=0 , f(1)=1 ,f(2)=1 。

若新建长度为 n 的 dp 列表,则空间复杂度为 O(N)。

由于 dp 列表第 i 项只与第 i−1 和第 i−2 项有关,因此只需要初始化三个整形变量 sum, a, b ,利用辅助变量 sum 使 a,b 两数字交替前进即可 (具体实现见代码) 。由于省去了 dp 列表空间,因此空间复杂度降至 O(1)。

class Solution {
    public int climbStairs(int n) {
        int a = 1, b = 1, sum;  //初始值
        for(int i = 0; i < n - 1; i++){    //循环进行遍历
            sum = a + b;    //第三层等于前两层之和
            a = b;      //第一层等于第二层
            b = sum;    //第二层等于原先第一层与第二层之和
        }
        return b;
    }
}

相关推荐

  1. 每日.14 楼梯

    2024-03-26 10:34:02       18 阅读
  2. 每日.11

    2024-03-26 10:34:02       20 阅读
  3. 每日.10 最后一个单词的长度

    2024-03-26 10:34:02       19 阅读
  4. 每日.12 二进制求和

    2024-03-26 10:34:02       18 阅读
  5. 每日.13 x的平方根

    2024-03-26 10:34:02       17 阅读
  6. 每日.16 合并两个有序数组

    2024-03-26 10:34:02       20 阅读
  7. 每日.04 最长公共前缀

    2024-03-26 10:34:02       24 阅读
  8. 每日.02 回文数

    2024-03-26 10:34:02       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-26 10:34:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-26 10:34:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-26 10:34:02       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-26 10:34:02       20 阅读

热门阅读

  1. 短剧小程序系统cps分销开发搭建

    2024-03-26 10:34:02       19 阅读
  2. 前端vue2学习(事件处理)总结

    2024-03-26 10:34:02       17 阅读
  3. 二刷代码随想录——动态规划day57

    2024-03-26 10:34:02       31 阅读
  4. 安卓11系统RK3568 代码控制OTA

    2024-03-26 10:34:02       32 阅读
  5. 数据结构——顺序表(C语言版)

    2024-03-26 10:34:02       19 阅读
  6. 深入理解Elasticsearch高效原理

    2024-03-26 10:34:02       19 阅读
  7. 二刷代码随想录——单调栈day58

    2024-03-26 10:34:02       16 阅读
  8. 每天30分钟python(第一天)

    2024-03-26 10:34:02       17 阅读
  9. Vue 中的 computed 和 watch 的区别

    2024-03-26 10:34:02       20 阅读
  10. flutter项目使用ffi和原生交互问题积累

    2024-03-26 10:34:02       19 阅读
  11. Flutter中被屏蔽的概念,Scheduler(调度器)

    2024-03-26 10:34:02       18 阅读
  12. 医疗器械包装ASTM D4169 松散振动

    2024-03-26 10:34:02       16 阅读