当前位置: 首页 > news >正文

134. 加油站

在这里插入图片描述
思路

净油量(即从当前位置离开所剩余的油量):gas[i]-cost[i]

cur:到达当前位置的净油量

total:到达当前位置的净油量和

start:起始位置,初始为0

到达当前位置total<0:说明油没了,无法去到下一位置了(因为离开当前位置需要的油多于现有的油),则起始位置从下一个位置开始

走到尾,若total<0,说明无法再往下走,走不到起始位置

假设起始位置前的净油量和为A,起始位置开始到末尾(-1这个位置)的净油量为B 即能回到起始位置需要总油量为A+B,即A+B>=0时,说明能回到起始位置(循环一圈)

class Solution(object):def canCompleteCircuit(self, gas, cost):""":type gas: List[int]:type cost: List[int]:rtype: int"""#到达当前位置的净油量cur=[]#到达当前位置的净油量和(即从这个位置离开时油量会是多少)total=0#起始位置start=0#到达当前位置的净油量和s=0for i in range(len(gas)):s+=gas[i]-cost[i]cur.append(s)total+=gas[i]-cost[i]'''从当前位置无法到下一个位置,油不够   因为是净油量  则起始到这个位置后,无法到达下一个位置那就以下一个位置为开始,重新计算油量'''if total<0:start=i+1total=0'''最后油量小于0,则回不到起始位置  因为一开始的地方0-start的前面油和(记为A)<0 ,走到底(从start到gas[-1]位置油和(记为B)也<0,)循环一遍,能走到起始位置条件为A+B>=0 即正好没油或多油 (存在解即唯一)'''if total+cur[start-1]>=0:return startreturn -1

http://www.mrgr.cn/news/36433.html

相关文章:

  • 技能深化与软实力双提升
  • 服务端的 Session 详解
  • 【操作系统】速成3
  • 2024免费录屏软件的宝藏功能与实用技巧
  • AUTOSAR汽车电子嵌入式编程精讲300篇-基于CAN总线的气动控制(中)
  • SBB Usage Parameters
  • Android 10.0 Launcher3禁止改变density等系统密度导致布局变化hotseat靠右边显示功能实现
  • Ubuntu下TexMaker发生CTeX fontset `fandol‘ is unavailable问题
  • Delphi 12.2 新出的 WebStencil 组件和 Quill 编辑器配合的问题
  • 四元组问题
  • LeetCode 1979. 找出数组的最大公约数
  • 数据分析:Python语言网络图绘制
  • 【QGIS】软件下载安装及GIS4WRF插件使用
  • 代码编码规范文档(参考)
  • WDM站点类型 -- 波分站点类型
  • LLMs之RAG:MemoRAG(利用其记忆模型来实现对整个数据库的全局理解)的简介、安装和使用方法、案例应用之详细攻略
  • 大觅网之业务部署(Business deployment of Da Mi Network)
  • 【Flask】(推荐项目)使用 Python 和 Kubernetes 进行微服务架构和系统设计
  • 基于Python大数据的B站热门视频的数据分析及可视化系统
  • IPMI与服务器管理