成都网站建设设计

将想法与焦点和您一起共享

python怎么解决爬楼梯问题

这篇文章主要介绍了python怎么解决爬楼梯问题的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇python怎么解决爬楼梯问题文章都会有所收获,下面我们一起来看看吧。

创新互联是一家专注于成都网站建设、网站设计与策划设计,丰台网站建设哪家好?创新互联做网站,专注于网站建设10年,网设计领域的专业建站公司;建站业务涵盖:丰台等地区。丰台做网站价格咨询:13518219792

【题目】

假设你正在爬楼梯。需要 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 阶

【思路】

爬到第i步台阶,最后一步可能是从第i-1步台阶爬1个台阶,也可能是从第i-2步台阶排2个台阶。

我们使用dp数组存储,dp[i]表示爬到第i步台阶可能的方法总数,那么dp[i] = dp[i - 1] + dp[i - 2]。

【代码】

python版本

class Solution:
    def climbStairs(self, n: int) -> int:
        if n < 3:
            return n
        
        # dp[i] = dp[i-1] + dp[i-2]
        dp = [1, 2]
        for i in range(2, n):
            dp.append(dp[i - 1] + dp[i - 2])
        return dp[-1]

关于“python怎么解决爬楼梯问题”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“python怎么解决爬楼梯问题”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


文章名称:python怎么解决爬楼梯问题
文章出自:http://chengdu.cdxwcx.cn/article/gcghos.html