每日算法之爬楼梯

今天在看极客时间直播的时候,看到老师面试的时候出了一道爬楼梯的题目,感觉值得学习,他是用python

来实现的,题目如下:

假设你正在爬楼梯,需要n阶才能到达楼顶。
每次你可以爬1或2个或3个台阶,你有多少种不同的方法可以爬到楼顶呢?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution(object):

def climbStairs(self,n):
steps = [1,2,3]
self._dfs(n,[],steps)

def _dfs(self,n,res,steps):
if(n == 0):
print(res);
return
for(step in steps):
if(n >= step):
//res+[step]即为已经走的台阶种数+当前走的一种台阶数
self._dfs(n - step,res+[step],steps);
欢迎关注我的公众号:沉迷Spring
显示 Gitment 评论
0%