LeetCode 746. Min Cost Climbing Stairs (Python)最优解--Apolo_Shane

本文介绍了一种基于动态规划的算法来解决一个类似House Robber问题的变体——如何以最小的成本爬上楼梯。该问题中,每一步可以跳过一个或两个台阶,且不能连续从两个台阶上跳跃。算法通过迭代计算每一步的最大收益,最终得出最小成本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

是198题. House Robber 的反例子
# 1/小偷抢的越多,其剩下的就越少,其目标就是剩下的最少,但是不能连偷两个,这样的话会造成梯子有隔断。
# 2/小偷不能偷相邻的,正好是梯子不能跳两格对应上

class Solution:

    def minCostClimbingStairs(self, cost):
        last=now=0
        for i in cost:
            last,now=now,max(i+last,now) 
        return sum(cost)-now
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值