用 Python 编写程序来找出爬楼梯的方法
pythonserver side programmingprogramming更新于 2026/1/9 0:44:17
假设我们有一个有 n 个台阶的楼梯,我们每次可以爬 1 或 2 个台阶。我们必须定义一个函数来返回爬楼梯的不同方法的数量。
台阶的顺序不应改变,因此每个不同的台阶顺序都算作一种方式。如果答案非常大,则将结果取 10^9 + 7 的模数
因此,如果输入为 n = 5,则输出将为 8,因为有 8 种独特的方法 −
- 1, 1, 1, 1, 1
- 2, 1, 1, 1
- 1, 2, 1, 1
- 1, 1, 2, 1
- 1, 1, 1, 2
- 1, 2, 2
- 2, 1, 2
- 2, 2, 1
为了解决这个问题,我们将遵循以下步骤 −
- dp:= 大小为 n+1 的数组,并用 0 填充
- dp[1]:= 1
- 对于范围为 2 到 n+1 的 i,执行
- dp[i]:= dp[i-1]+dp[i-2]
- 返回 dp mod m 的最后一个元素
让我们看看下面的实现以便更好地理解 −
示例
m =(10**9)+7 class Solution: def solve(self, n): dp=[0 for _ in range(n+2)] dp[1]=1 for i in range(2,n+2): dp[i]=dp[i-1]+dp[i-2] return dp[-1] % m ob = Solution() print(ob.solve(5))
输入
5
输出
8
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

