假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
class Solution(object):
def climbStairs(self, n):
"""
:type n: int
:rtype: int
"""
list = []
if n == 0:
return 0
if n == 1:
return 1
if n == 2:
return 2
list.append(1)
list.append(2)
for i in range(2, n):
list.append(list[i-1]+list[i-2])
return list[n-1]
该代码实现了一个解决爬楼梯问题的Python类,使用动态规划的方法。当有n阶楼梯时,可以通过每次爬1或2阶的方式到达顶部。程序通过初始化列表并逐步添加前两个台阶的组合来计算不同爬法的数量,最后返回第n阶的组合数。
924

被折叠的 条评论
为什么被折叠?



