leetcode134:加油站

加油站

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

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

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

java 复制代码
public int canCompleteCircuit(int[] gas, int[] cost) {
        int store = 0;
        int MIN = Integer.MAX_VALUE;
        int index = -1;
        for (int i = 0; i < gas.length; i++) {
            store = store - cost[i] +gas[i] ;
            if(store < MIN){
                MIN = store;
                index = i;
            }
        }
        return store>=0 ? (index + 1)%gas.length : -1;
    }

贪心,因为是唯一解,找到跑一圈中总和最小的时刻,从这个时刻后面开始跑即可

相关推荐
扯淡的闲人5 分钟前
多语言编码Agent解决方案(4)-Eclipse插件实现
java·ide·eclipse
YuTaoShao6 分钟前
【LeetCode 每日一题】36. 有效的数独
linux·算法·leetcode
MMjeaty9 分钟前
map/multimap容器
数据结构·c++
IT古董10 分钟前
【漫话机器学习系列】003.Agglomerative聚类
人工智能·算法·机器学习
杨杨杨大侠19 分钟前
Atlas Mapper 教程系列 (7/10):单元测试与集成测试
java·开源·github
zstar-_19 分钟前
【不背八股】12.十大排序算法
数据结构·算法·排序算法
叽哥22 分钟前
Kotlin学习第 7 课:Kotlin 空安全:解决空指针问题的核心机制
android·java·kotlin
吃着火锅x唱着歌26 分钟前
LeetCode 2110.股票平滑下跌阶段的数目
数据结构·算法·leetcode
guslegend36 分钟前
Java面试小册(3)
java
派葛穆38 分钟前
Unity-按钮实现场景跳转
java·unity·游戏引擎