【算法】加油站、距离、油量,如何跑一圈

这篇博客讨论了一个算法问题:在环形排列的N个加油站中,根据每个站的油量和距离,判断能否从每个站出发完成一圈。通过分析纯能数组和构建联通区的方法,解释了如何确定是否有良好出发点。文章详细阐述了两种情况,一种是没有良好出发点,另一种是有良好出发点,并提供了相应的解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在这里插入图片描述

1.概述

N个加油站组成一个环形,给定两个长度都是N的非负数组 oil 和dis (N>1)

  1. oil[i]代表第i个加油站存的油可以跑多少千米
  2. dis[i]代表第i个加油站到环中下一个加油站相隔多少千米。

假设你有一辆油箱足够大的车,初始时车里没有油。如果车从第i个加油站出发,最终可以回到这个加油站,那么第i个加油站就算良好出发点,否则就不算。

请返回长度为N的boolean型数组res,res[i]代表第 i个加油站是不是良好出发点。

2.分析

假设我们有数据如下,距离上有加油站,你可以理解是一个环路结构,油数组表示这个加油站里面有多少油。

圆圈的代表01234有五个加油站,文字代表每个加油站存储有多少油,路径代表相邻的两个加油站距离有多远。

油数组:【3	2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

九师兄

你的鼓励是我做大写作的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值