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

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

相关推荐
自我意识的多元宇宙14 分钟前
二叉树的遍历和线索二叉树--线索二叉树
数据结构
ulias21214 分钟前
leetcode热题 - 3
c++·算法·leetcode·职场和发展
wsx_iot15 分钟前
arthas使用
java·arthas
实心儿儿28 分钟前
Linux —— 进程概念 - 程序地址空间
linux·运维·算法
菜鸟丁小真32 分钟前
LeetCode hot100-287.寻找重复数和994.腐烂的橘子
数据结构·算法·leetcode·知识点总结
lifallen35 分钟前
Flink Watermark 设计分析
java·大数据·flink
AKA__Zas1 小时前
初识 事务
java·开发语言·数据库·sql
kongba0071 小时前
2026年4月19日 kimi记忆备份
java·前端·数据库
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题】【Java基础篇】01_说说ArrayList的底层原理/扩容规则
java·后端·面试·list
发发就是发1 小时前
USB系统架构概述:从一次诡异的枚举失败说起
驱动开发·单片机·嵌入式硬件·算法·fpga开发