题解 | #最小花费爬楼梯#

最小花费爬楼梯

https://www.nowcoder.com/practice/6fe0302a058a4e4a834ee44af88435c7

#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
# 
# @param cost int整型一维数组 
# @return int整型
#
class Solution:
    def minCostClimbingStairs(self , cost: List[int]) -> int:
        # 递归算法+动态规划
        length=len(cost)
        # 从题目可以,初始:第一层和第二层免费
        # 当大于2层,当前值取决于min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])
        # 初始化一个字典,表示爬到第几层对应花费
        dp={}
        # 初始化第一层和第二层花费均为0
        dp[0],dp[1]=0,0
        # 从第三层开始,当前有length层
        for i in range(2,length+1):
            dp[i]=min(dp[i-1]+cost[i-1],dp[i-2]+cost[i-2])
        return dp[length]

全部评论

相关推荐

11-02 09:49
已编辑
货拉拉_测试(实习员工)
热爱生活的仰泳鲈鱼求你们别卷了:没事楼主,有反转查看图片
点赞 评论 收藏
分享
牛舌:如果我不想去,不管对方给了多少,我一般都会说你们给得太低了。这样他们就会给下一个offer的人更高的薪资了。
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务