代码随想录算法训练营第三十二天|LeetCode 509 斐波那契数,LeetCode 70 爬楼梯,LeetCode 746 使用最小花费爬楼梯
1.LeetCode 509 斐波那契数
题目链接:509. 斐波那契数
class Solution:def fib(self, n: int) -> int:dp = [0 for i in range(n)]if n == 0:return 0elif n == 1:dp[0] = 1elif n >= 2:dp[0],dp[1] = 1,1for i in range(2, n):dp[i] = dp[i - 1] + dp[i - 2]return dp[-1]
第一题结束
2.LeetCode 70 爬楼梯
题目链接:70. 爬楼梯
class Solution:def climbStairs(self, n: int) -> int:n = n + 1dp = [0 for i in range(n)]if n == 1:dp[0] = 1elif n >= 2:dp[0],dp[1] = 1,1for i in range(2, n):dp[i] = dp[i - 1] + dp[i - 2]return dp[-1]
第二题结束
3.LeetCode 746 使用最小花费爬楼梯
题目链接:746. 使用最小花费爬楼梯
class Solution:def minCostClimbingStairs(self, cost: List[int]) -> int:dp = [0 for i in range(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[-1]
第三题结束
今天用时2h,今天的题比较简单,但都比较难想出来