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;
    }

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

相关推荐
fengfuyao985几秒前
基于拥挤距离的多目标粒子群优化算法 (MOPSO-CD)
算法
老鼠只爱大米2 分钟前
LeetCode经典算法面试题 #238:除自身以外数组的乘积(左右乘积数组法、分治法等多种方法详解)
算法·leetcode·分治法·算法面试·除自身以外数组的乘积·前缀乘积·左右乘积数组法
月月玩代码6 分钟前
OkHttp,Square出品的Java/Android HTTP客户端!
android·java·okhttp
胡八一8 分钟前
IntelliJ IDEA 配置插件目录
java·ide·intellij-idea
qianbo_insist9 分钟前
Mask R-CNN Fast-ReID 结合
人工智能·算法·cnn
资生算法程序员_畅想家_剑魔12 分钟前
Java常见技术分享-分布式篇-SpringCloud-01-基础组件
java·分布式·spring cloud
信码由缰14 分钟前
SJF4J 五分钟入门:Java 的实用 JSON 门面
java·python·json
yi诺千金17 分钟前
Android U 自由窗口(浮窗)——操作栏相关
android·java·ui
紫小米18 分钟前
Function calling实践
java·前端·数据库
计算机毕设指导619 分钟前
基于微信小程序的电影评论与推荐社区平台【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea