首页 > 试题广场 >

加油站

[编程题]加油站
  • 热度指数:2338 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
在一条环路上有 n 个加油站,其中第 i 个加油站有 gas[i] 升油,假设汽车油箱容量无限,从第 i 个加油站驶往第 (i+1)%n 个加油站需要花费 cost[i] 升油。

请问能否绕环路行驶一周,如果可以则返回出发的加油站编号,如果不能,则返回 -1。
题目数据可以保证最多有一个答案。

数据范围: 1 \leq n \leq 10^4 \ , gas 和 cost 数组中的值满足 1 \leq val \leq 10^5 \
示例1

输入

[1,2,3,4,5],[3,4,5,1,2]

输出

3

说明

只能从下标为 3 的加油站开始完成 (即第四个加油站) 
示例2

输入

[0,10],[9,1]

输出

1
示例3

输入

[2,3,4],[3,4,5]

输出

-1

说明

无论从哪个加油站出发都无法环绕环道一圈 
头像 xqxls
发表于 2022-01-19 15:18:11
题意整理 n个加油站排成一圈,每一个站点有对应的油,存储在gas数组,从一个站点走到下一个站点需要若干油量,存储在cost数组。 问能否绕环路行驶一周,如果可以则返回出发的加油站编号,如果不能,则返回-1。 方法一(枚举起始站点) 1.解题思路 首先枚举所有可能的起始加油站。如果剩余油量大于等 展开全文
头像 呆喵挠琴
发表于 2022-03-09 11:41:14
题目的主要信息: 在一条环路上有 n 个加油站,其中第 i 个加油站有 gas[i] 升油,假设汽车油箱容量无限,从第 i 个加油站驶往第 (i+1)%n 个加油站需要花费 cost[i] 升油。 请问能否绕环路行驶一周,如果可以则返回出发的加油站编号,如果不能,则返回 -1。 题目数据可以保证最多 展开全文
头像 无名的岛屿
发表于 2022-01-13 06:47:11
双指针 有油时候前指针可以前进(烧油),没油时候后指针必须后退(取油),直到两指针碰上。 如果最终油量大于0,可以跑足一圈,否则不能。 class Solution:     def gasStation(self , 展开全文
头像 姐姐的遮阳伞
发表于 2022-03-29 16:54:15
思路: (算法的空间复杂度和时间复杂度都很高,但比较好理解的一种方法) 将每一个加油站看成是一个节点,所有的加油站,就构成了一个环形链表。然后,就以每一个加油站为起点,看是否能绕一圈。(注: 代码中的 HashMap 存放的是,每一个加油站所在的索引) 最后,就能找到最终的结果啦。 import 展开全文
头像 全村的希望丶
发表于 2022-08-22 12:06:21
刚开始尝试第一个开始(下标为0),last标记当前剩余油量 当l再次回到0的时候,表明没有方案,返回-1 当r == l的时候,表明有方案,返回l import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名 展开全文
头像 Ivy2019
发表于 2022-10-03 20:24:43
描述 在一条环路上有 n 个加油站,其中第 i 个加油站有 gas[i] 升油,假设汽车油箱容量无限,从第 i 个加油站驶往第 (i+1)%n 个加油站需要花费 cost[i] 升油。 请问能否绕环路行驶一周,如果可以则返 展开全文
头像 代码界的小白
发表于 2022-02-02 21:05:54
题目主要信息 在一条环路上有 n 个加油站,其中第 i 个加油站有 gas[i] 升油,假设汽车油箱容量无限,从第 i 个加油站驶往第 (i+1)%n 个加油站需要花费 cost[i] 升油。 请问能否绕环路行驶一周,如果可以则返回出发的加油站编号,如果不能,则返回 -1。 题目数据可以保证最多有一 展开全文
头像 CroMarmot
发表于 2022-01-06 09:46:55
题意 一个环上,每经过第i个点,增加A[i]再减少B[i], 要求每个结果不小于零 限制: 环长度不大于10410^4104, 增减值不大于10510^5105 方法 枚举起点 直接按照题意,枚举所有起点. 对于每次枚举起点,模拟行驶一周,判断是否会出现油量为负的情况。 如果找到能让油量始终非负的起 展开全文
头像 牛客768685351号
发表于 2022-03-13 19:02:26
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param gas int整型vector * @param cost int整型vec 展开全文

问题信息

难度:
9条回答 1680浏览

热门推荐

通过挑战的用户

查看代码