题目

假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1:
输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。

  1. 1 阶 + 1 阶
  2. 2 阶
    示例 2:
    输入:n = 3
    输出:3
    解释:有三种方法可以爬到楼顶。
  3. 1 阶 + 1 阶 + 1 阶
  4. 1 阶 + 2 阶
  5. 2 阶 + 1 阶
    提示:
    1 <= n <= 45
    来源:力扣(LeetCode)

解题思路

  假设当前你已经到达第n层,那么你可能是由第n-1层跳过来也可能是从第n-2层跳过来,但是不管从哪层跳过来都需要计入总数,因为题目记录的是有几种方法。故有f(n)=f(n-1)+f(n-2)

class Solution:def climbStairs(self, n: int) -> int:if n==1:return 1if n==2:return 2return self.climbStairs(n-1)+self.climbStairs(n-2)


  实际上跳上当前台阶的方法种数只和前面两种情况相关,所以不需要像上面一样将很多的数据压入栈中,只需要保存最近的两次情况结果即可。

class Solution:def climbStairs(self, n: int) -> int:p,q,r=0,0,1for i in range(n):p,q=q,rr=p+qreturn r

LeetCode简单题之爬楼梯相关推荐

  1. 【LeetCode 简单题】15-爬楼梯

    声明: 今天是第15道题.假设你正在爬楼梯,需要 n 阶你才能到达楼顶,每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数.以下所有代码经过楼主验证都能 ...

  2. 学渣的刷题之旅 leetcode刷题 70.爬楼梯(动态规划)

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 输入: 2 输出: 2 解释: 有两种方法可以爬 ...

  3. 泡面吧” “计蒜客” 挑战难题 第16题:爬楼梯

    第16题:爬楼梯 点击打开链接 尝试次数 1229次 通过率 17.7% 时间限制 1000 ms 内存限制 10000 K 假设你现在正在爬楼梯,楼梯有n级.每次你只能爬1级或者2级,那么你有多少种 ...

  4. leetcode每日一题——T70. 爬楼梯(易):斐波那契公式

    题目:假设你正在爬楼梯.需要 n 阶你才能到达楼顶.每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数. 示例 1: 输入: 2输出: 2解释: 有两种 ...

  5. 力扣题 <爬楼梯> 递归结合表

    题目描述: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入:n = 2 输出:2 解释:有两种方法可以爬到楼顶 ...

  6. leetcode | 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解释: 有两 ...

  7. LeetCode每日训练1——爬楼梯问题(2020.7.1)

    假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2 输出: 2 解释: 有两 ...

  8. python题库爬楼梯

    题目描述: 假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 本质:斐波那契数列 class So ...

  9. LeetCode简单题之基于排列构建数组

    题目 给你一个 从 0 开始的排列 nums(下标也从 0 开始).请你构建一个 同样长度 的数组 ans ,其中,对于每个 i(0 <= i < nums.length),都满足 ans ...

最新文章

  1. JCheckBox用法
  2. 制作一款3D炸弹超人游戏
  3. cocos label html文本,【cocos2dx】创建简单的文字Label——BMFont
  4. Mybatis多条件直接查询
  5. 阿里P8架构师谈:深入探讨HashMap的底层结构、原理、扩容机制
  6. python 二维数组长度_剑指offer二维数组中的查找【Java+Python】
  7. 线性代数:矩阵运算之乘法?
  8. 产品壁垒_打破人员,流程和产品之间的壁垒
  9. 安装linux环境及相关包方法
  10. Bridge的VLAN接口模式
  11. ZigBee空气质量监测系统设计
  12. 前端,html,css,js,vue
  13. Cox回归和HR值理解要点难点,实例讲解
  14. 微信发红包案例测试场景
  15. 八戒帮扶V5v1.39 VUE任务系统微信公众平台任务系统完美运营
  16. 如何做好提升领导力培训PPT课件?
  17. 网贷害人,迷途知返后,天真的以为外包只要会增删改查就够了???
  18. Adobe Acrobat 无法打开文件附件,因为您的PDF文件附件设置不允许打开本类型的文件
  19. 网络推广主管工作汇报实操指南
  20. 积分竟然比微分早了1300年!一文讲清积分的历史

热门文章

  1. 常用开源协议介绍以及开源软件规范列表
  2. 2022-2028年中国PET基膜行业市场发展规模及市场分析预测报告
  3. 做人留一线,日后好相见
  4. 文本框可编辑查看页面
  5. python:Json模块dumps、loads、dump、load介绍
  6. Levenshtein distance 编辑距离算法
  7. LeetCode简单题之整数的各位积和之差
  8. 利用UltraScale和UltraScale+FPGA和MPSOC加速DSP设计生产力
  9. 2021年大数据常用语言Scala(三十二):scala高级用法 样例类
  10. Android 自定义 —— View lineTo 与 rLineTo 的区别