題目:
爬樓梯:假設你正在爬樓梯。需要 n 階你才能到達樓頂。 每次你可以爬 1 或 2 個台階。你有多少種不同的方法可以爬到樓頂呢? 注意:給定 n 是一個正整數。
思路:
斐波那契數列
程序:
import functools
class Solution:
@functools.lru_cache(None)
def climbStairs(self, n: int) -> int:
if n == 0:
return 0
if n == 1:
return 1
if n == 2:
return 2
return self.climbStairs(n-1) + self.climbStairs(n-2)