leetcode:134.加油站

本文讨论了解决环状数组求和问题的贪心策略,强调起始位置的选择基于局部最优,即从数组中和为负数的位置之后开始,同时解释了为什么起始位置不可能从中间开始并提供了反证。
摘要由CSDN通过智能技术生成

解题思路:需要注意开始时的编号,有的可以走一圈,有的走不了

模拟过程:for循环主要是用来模拟线性的过程,而在这里它是环状的;

可以用暴力解法,但是在这里我用贪心来解决。

 常见疑惑:

这个起始位置是不会从中间开始的,运用反证法可以证明,如果从中间作为起始位置,那就不会从区间后一个位置当成起始点开始了,而是会在遍历到中间时将中间那个点直接作为起始位置。

代码实现:局部最优:当遍历数组进行求和时,一旦这个和为负数,就从这个数后一个位置开始作为起始点。

注意:[g-s]数组总和小于0,返回-1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值