利用python 完成leetcode70

本文探讨了一个经典的数学问题——爬楼梯的不同方法数量。通过分析,我们发现了解决这一问题的有效方法,即利用斐波那契数列的特性。文章详细解释了如何将爬楼梯问题转化为斐波那契数列的求解过程,并提供了Python代码实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

示例 1:

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

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

输入: 3
输出: 3
解释: 有三种方法可以爬到楼顶。
3. 1 阶 + 1 阶 + 1 阶
4. 1 阶 + 2 阶
5. 2 阶 + 1 阶
思路
因为只能走1或2步,
第n种的方法就是第n-1种中的每一种方法最后加1和第n-2种中的每一种方法最后加2
已4为例
3 每种方法最后+1
1+ 1+1+1
1+2+1
2+1+1
2每种方法最后+2
1+1+2
2+2
合起来就是第4种
直接用斐波那契数列的解法

def climbStairs(self, n):
        a=1
        b=1
        i=1
        while(i!=n):
            b,a=a,a+b
            i=i+1
        return a
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值