想要学习好语言,就需要一个不断去做内容整理,然后复盘学习的流程,就像是算法,跟大家说过几十种算法了,大家现在都掌握住了吗?相信大部分小伙伴在看完精简的教程内容后,基本上都有自己的理解了吧,那小编再来给大家介绍一种神奇的算法,可以实现数据结构构造以及规划的算法内容,感兴趣的话一起来看下吧~
通过一组常见的问题——爬楼梯,来使用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
从这道题里我们可以分析出来,使用递推的方式,是最简单不过了的,如果对斐波那契数列算法更有经验的话,也可以利用这种算法,只需要我们将变量放入,最后重新产生新的两个值即可,好啦,以上就是了解Leetcode算法的全部内容了,更多学习内容,尽在python学习网。