题解 | #最小花费爬楼梯#
最小花费爬楼梯
https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # # @param cost int整型一维数组 # @return int整型 # class Solution: def minCostClimbingStairs(self , cost: List[int]) -> int: # write code here dp = [0] * (len(cost) + 1) dp[0] = 0 dp[1] = 0 for 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)]
今天打算系统的学习一下动态规划,然后就看了代码随想录的视频,然后感觉自己懂了,然后就来做,发现,哦题目都没看懂
然后听了一下才明白,每一个格子是消费大小
感觉分为五部曲:①确定dp数组的下标及含义 ②确定递归公式 ③确定初始值 ④确定遍历顺序 ⑤打印dp 这个套路还是好用的
但是感觉我还是得多注意这个起始点和终点,尤其是写循环的时候!!