leetcode134:加油站

2024-08-25 06:28
文章标签 加油站 leetcode134

本文主要是介绍leetcode134:加油站,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

加油站

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

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

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

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

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

这篇关于leetcode134:加油站的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1104795

相关文章

力扣134-加油站(java题解)

题目链接:134. 加油站 - 力扣(LeetCode) 前情提要: 因为本人最近都来刷贪心类的题目所以该题就默认用贪心方法来做。 贪心方法:局部最优推出全局最优。 如果一个题你觉得可以用局部最优推出全局最优,并且没有反例来反驳的话就可以用贪心来试试。 题目思路: 该题入手,你可能知道,当总容量减去总消耗量大于等于0,那么该路程一定是可以环路行驶一周的,但是怎么确认出发的加油站编号呢?

基于 HTML5 WebGL 的加油站 3D 可视化监控

前言 随着数字化,工业互联网,物联网的发展,我国加油站正向有人值守,无人操作,远程控制的方向发展,传统的人工巡查方式逐渐转变为以自动化控制为主的在线监控方式,即采用数据采集与监控系统 SCADA。SCADA 系统的推广使用,大大提高了我国加油站的监控效率,本文所讲的则是通过对加油站的可视化建模,结合 HT 的 3D 可视化以及 2D 监控面板来实现对加油站的可视化监控。三维可视化监控系统是将三维

力扣面试经典算法150题:加油站

加油站 今天的题目是力扣面试经典150题中的数组的中等难度题:加油站。 题目链接:https://leetcode.cn/problems/gas-station/description/?envType=study-plan-v2&envId=top-interview-150 问题描述 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容

代码随想录算法训练营第二十九天| 134. 加油站 135. 分发糖果 860.柠檬水找零 406.根据身高重建队列

134. 加油站 题目: 在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证

加油站等重点区域吸烟检测算法应用方案实时监控吸烟检测算法样本算法源码展示

重点区域抽烟检测算法是一种基于计算机视觉和深度学习技术的应用,旨在自动监控并检测特定区域内的吸烟行为。这种算法对于维护无烟环境、保障公共安全以及执行禁烟法规具有重要作用。以下是关于重点区域抽烟检测算法源码及其实际应用的详细阐述: 1. 算法实现   - 深度学习框架:抽烟检测算法通常采用卷积神经网络(CNN)等深度学习模型,这些模型能够从图像或视频中提取烟雾和点燃香烟的视觉特征。   -

代码随想录算法训练营第31天| 134. 加油站、135. 分发糖果、860.柠檬水找零、 406.根据身高重建队列

134. 加油站 题目链接:134. 加油站 文档讲解:代码随想录 状态:so easy 思路:每次遍历时,如果当前的油量差(currTank)小于0,说明从当前起点无法到达下一个加油站。此时,将下一个加油站设为新的起点,并重置当前油量差(currTank)。最后检查总的油量差(totalTank),如果总的油量差大于等于0,说明存在一个合法的起点,使汽车能绕完整个环形路;否则不存在

代码随想录算法训练营Day31| 134. 加油站 , 135. 分发糖果 ,860.柠檬水找零 , 406.根据身高重建队列

今天的题目真的写的我一肚子气,真的太气了,一道题都写不出来,再听完题解后,还是觉得没有完全理解,果然菜是原罪,我还是太弱了,继续加油吧!来看今天的第一题 134. 加油站:代码随想录 这道题目的意思就是说一个路上有n个加油站,你现在的初始状态下油是0,你可以选择从一个加油站开始,看你是否能绕路行驶一圈,这道题我想到了,将他所给的gas数组减去cost数组,然后来选,但是我不知道的是怎么来

2024/06/13--代码随想录算法(贪心)3/6|134.加油站、135.分发糖果、860.柠檬水找零、406.根据身高重建队列

134.加油站 力扣链接 class Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:curSum = 0 # 当前累计的剩余油量totalSum = 0 # 总剩余油量start = 0 # 起始位置for i in range(len(gas)):curSum += gas[

【代码随想录算法训练营第三十五天|1005.K次取反后最大化的数组和、134.加油站、135.分发糖果】

文章目录 1005.K次取反后最大化的数组和134.加油站135.分发糖果 1005.K次取反后最大化的数组和 把数组先排序,排序好后根据k和数组长度中最小的那个进行遍历,目的是如果有负数的就把他们从小到大依次取正,然后按照还剩下的k的数量来判断,如果是偶数则按照当前数组输出,如果是奇数则需要把当前数组的最小值取反再求和。 class Solution:def largestS

day35贪心算法part03| 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果

1005.K次取反后最大化的数组和 本题简单一些,估计大家不用想着贪心 ,用自己直觉也会有思路。 题目讲解 | 题目链接 自己的想法,也通过了 class Solution {public:int sumMax(vector<int>& nums) {int sum = 0;for (int i = 0; i < nums.size(); i++) {cout << nums[i] <