通过一组常见的问题——爬楼梯,来使用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