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

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

相关推荐
qq_12498707531 分钟前
重庆三峡学院图书资料管理系统设计与实现(源码+论文+部署+安装)
java·spring boot·后端·mysql·spring·毕业设计
大学生资源网5 分钟前
java毕业设计之“知语”花卉销售网站的设计与实现源码(源代码+文档)
java·mysql·毕业设计·源码·springboot
小鸡脚来咯11 分钟前
Redis三大问题:穿透、击穿、雪崩(实战解析)
java·spring·mybatis
桦说编程14 分钟前
并发编程高级技巧:运行时检测死锁,告别死锁焦虑
java·后端·性能优化
jiayong2320 分钟前
Spring AI Alibaba 深度解析(三):实战示例与最佳实践
java·人工智能·spring
梁同学与Android27 分钟前
Android ---【经验篇】ArrayList vs CopyOnWriteArrayList 核心区别,怎么选择?
android·java·开发语言
XFF不秃头34 分钟前
力扣刷题笔记-全排列
c++·笔记·算法·leetcode
ss27341 分钟前
从零实现线程池:自定义线程池的工作线程设计与实现
java·开发语言·jvm
苗壮.43 分钟前
CommandLineRunner 是什么?
java
石工记1 小时前
windows 10直接安装多个JDK
java·开发语言