题解 | #最小花费爬楼梯#
最小花费爬楼梯
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 这个套路还是好用的
但是感觉我还是得多注意这个起始点和终点,尤其是写循环的时候!!