想要学习好语言,就需要一个不断去做内容整理,然后复盘学习的流程,就像是算法,跟大家说过几十种算法了,大家现在都掌握住了吗?相信大部分小伙伴在看完精简的教程内容后,基本上都有自己的理解了吧,那小编再来给大家介绍一种神奇的算法,可以实现数据结构构造以及规划的算法内容,感兴趣的话一起来看下吧~
通过一组常见的问题——爬楼梯,来使用Leetcode算法实现。
问题:提问每次你可以爬 1 或 2 个台阶。有多少种不同的方法可以爬到楼顶呢?
Leetcode算法代码演示:
class Solution: def climbStairs(self, n: int) -> int: curr = prev = 1 for _ in range(n-1): curr, prev = curr + prev, curr return curr class Solution: def climbStairs(self, n, s1 = 0, s2 = 1): return n and self.climbStairs(n - 1, s2, s1 + s2) or s2