版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Register_man/article/details/79226837
问题描述
一个人爬楼梯,每次只能爬1个或两个台阶,假设有n个台阶,那么这个人有多少种不同的爬楼梯方法
程序
def climb_stairs(n):
way = [0, 1, 2]
for i in range(3, n + 1):
way.append(way[i - 1] + way[i - 2])
return way[n]
def easy_climb(n):
return easy_climb(n - 1) + easy_climb(n - 2) if n not in [0, 1, 2] else n
效率