LeetCode70-爬楼梯

题目

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

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

示例 1:

输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。

  1. 1 阶 + 1 阶
  2. 2 阶
    示例 2:

输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。

  1. 1 阶 + 1 阶 + 1 阶
  2. 1 阶 + 2 阶
  3. 2 阶 + 1 阶

代码

class Solution {
    public int climbStairs(int n) {
        int a = 1, b = 1, sum = 0;
        for (int i = 0; i < n - 1; i++) {
            sum = a + b;
            a = b;
            b = sum;
        }
        return b;
    }
}

总结

  • 其实和高中的数学归纳法有点像,对前面的几个情况进行穷举就会发现是一个斐波那契数列
  • 递归法写法简单,但是对栈内存的开销存在一定的损耗,推荐for循环

相关推荐

  1. LeetCode 70. 楼梯

    2024-06-12 19:18:03       44 阅读
  2. Leetcode 70 楼梯

    2024-06-12 19:18:03       39 阅读
  3. LeetCode70 楼梯

    2024-06-12 19:18:03       22 阅读
  4. LeetCode 70 楼梯

    2024-06-12 19:18:03       19 阅读
  5. leetcode70. 楼梯

    2024-06-12 19:18:03       12 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-12 19:18:03       14 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-12 19:18:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-12 19:18:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-12 19:18:03       18 阅读

热门阅读

  1. Web前端放图片位置:深入探索与最佳实践

    2024-06-12 19:18:03       7 阅读
  2. 基于Python实现地震数据可视化的设计与实现

    2024-06-12 19:18:03       5 阅读
  3. 日期input框能写占位符吗

    2024-06-12 19:18:03       6 阅读
  4. web前端号:探索、挑战与未来的无限可能

    2024-06-12 19:18:03       7 阅读
  5. jQuery如何验证复选框是否选中

    2024-06-12 19:18:03       5 阅读
  6. js基本数据类型

    2024-06-12 19:18:03       5 阅读
  7. streamlit和grado的使用

    2024-06-12 19:18:03       5 阅读
  8. 中证指数绿色金融

    2024-06-12 19:18:03       6 阅读
  9. 【Linux学习之路 | vim编译器】vim编译器的使用

    2024-06-12 19:18:03       6 阅读