day_32
509. 斐波那契数
class Solution:def fib(self, n: int) -> int:if n <= 1:return ndp = [0, 1]for i in range(2, n + 1):dp = [dp[1], dp[0] + dp[1]]return dp[1]
70. 爬楼梯
class Solution:def climbStairs(self, n: int) -> int:if n <= 2:return ndp = [1, 1, 2]for i in range(3, n + 1):dp = [dp[1], dp[2], dp[1] + dp[2]]return dp[2]
746. 使用最小花费爬楼梯
class Solution:def minCostClimbingStairs(self, cost: List[int]) -> int:dp = [0] * (len(cost) + 1)dp[0] = 0dp[1] = 0for i in range(2, len(cost) + 1):dp[i] = min(dp[i -1] + cost[i - 1], dp[i - 2] + cost[i - 2])return dp[len(cost)]