加油站【贪心算法】

  1. 加油站
    在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。

你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。

给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。

java 复制代码
class Solution {
    public int canCompleteCircuit(int[] gas, int[] cost) {
        int curSum = 0;
        int totalSum = 0;
        int index = 0;
        for (int i = 0; i < gas.length; i++) {
            //计算累加过程,积累下的汽油
            curSum += gas[i] - cost[i];
            totalSum += gas[i] - cost[i];
            //如果出现和为负数,说明不可行,清零当前剩余油量,并尝试从下个站点出发
            if (curSum < 0) {
                index = i + 1;
                curSum = 0;
            }
        }
        //遍历完之后,看totalSum是否大于等于0,由此判断能不能跑完一圈(需在for循环结束后(外面)判断)
        if (totalSum < 0) {
            return -1;
        }
        return index;
    }
}
相关推荐
hans汉斯30 分钟前
【计算机科学与应用】基于BERT与DeepSeek大模型的智能舆论监控系统设计
大数据·人工智能·深度学习·算法·自然语言处理·bert·去噪
多喝开水少熬夜1 小时前
损失函数系列:focal-Dice-vgg
图像处理·python·算法·大模型·llm
立志成为大牛的小牛2 小时前
数据结构——三十七、关键路径(王道408)
数据结构·笔记·程序人生·考研·算法
ytttr8732 小时前
基于MATLAB的Relief算法特征权重选择实现
算法
Freshman小白3 小时前
python算法打包为docker镜像(边缘端api服务)
python·算法·docker
mit6.8243 小时前
[VT-Refine] Simulation | Fine-Tuning | docker/run.sh
算法
朴shu3 小时前
Delta数据结构:深入剖析高效数据同步的奥秘
javascript·算法·架构
mit6.8244 小时前
博弈dp|凸包|math分类
算法
Shinom1ya_4 小时前
算法 day 41
数据结构·算法·leetcode
hetao17338375 小时前
2025-10-30 ZYZOJ Star(斯达)模拟赛 hetao1733837的record
c++·算法