新闻详情

新闻详情

首页 / 资讯中心 / 详情

元宝 LeetCode 134. 加油站 Python3实现

发布时间:2026/10/1 22:09:42来源:尧图网络
元宝    LeetCode 134. 加油站 Python3实现
题目简述环形路上有“n” 个加油站“gas[i]”第“i” 站可加的油量“cost[i]”从第“i” 站开到第“i1” 站的耗油量最后一站开回第 0 站若能从某站出发顺时针绕行一圈返回该站下标若不能返回“-1”题目保证答案唯一。核心思路贪心算法全局判断如果所有站“gas” 总和 “cost” 总和绝对跑不完直接“-1”。局部贪心从左到右模拟行驶维护当前油箱余量“cur”。一旦“cur 0”说明从当前记录的“start” 出发到不了本站“i”。那么“start” 到“i” 之间的任何一站都不可能作为起点因为油量只会更少直接把起点设为“i1”“cur” 清零重新算。遍历结束后若总油量够则记录的“start” 就是唯一解。 关键性质如果从 A 出发到不了 B那么 A~B 之间任意点出发都到不了 B。Python3 实现LeetCode 可直接提交from typing import Listclass Solution:def canCompleteCircuit(self, gas: List[int], cost: List[int]) - int:total 0 # 全局油差累计cur 0 # 从当前候选起点出发的累计油差start 0 # 候选起点for i in range(len(gas)): diff gas[i] - cost[i] total diff cur diff # 当前累计为负说明从 start 出发到不了 i if cur 0: start i 1 # 起点更新为下一站 cur 0 # 重新累计 # 总油量足够才能跑完否则返回 -1 return start if total 0 else -1复杂度分析维度 复杂度时间 O(n) 只遍历一次空间 O(1) 仅用几个变量为什么贪心是对的一句话理解环形路径上若总油量非负则必然存在唯一一个“最低累计油差点”的下一个位置作为起点。我们上面“cur0” 时不断后移“start”本质上就是在找这个“最低点之后”的位置。对比暴力解法暴力每个站都模拟跑一圈 → O(n²)贪心利用“连续段不可达”性质剪枝 → O(n)面试标准答法 ✅需要我顺便给出带调试打印的版本或者用双指针思路的另一种写法吗
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

基于Swin Transformer的遥感变化检测实战:双时相影像判读 2026/10/1 22:54:30

基于Swin Transformer的遥感变化检测实战:双时相影像判读

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
Manjaro/Arch下Fcitx5搜狗输入法实战安装指南 2026/10/1 22:54:16

Manjaro/Arch下Fcitx5搜狗输入法实战安装指南

1. 项目概述:为什么在 Manjaro/Arch Linux 上装搜狗输入法是个“高频痛点”Manjaro 和 Arch Linux 用户里,十有八九都卡在同一个地方:装完系统,打开浏览器想搜点东西,结果键盘敲出的全是英文字母——中文输入法没起来。…

阅读更多 →
AI生成代码如何匹配团队风格与工程一致性 2026/10/1 22:54:16

AI生成代码如何匹配团队风格与工程一致性

1. 这不是代码问题,是团队认知断层的显影 “AI写的代码一跑就通,但完全不像我们组写的”——这句话最近在好几个技术团队的茶水间、站会间隙、甚至代码评审会上反复出现。它听起来像一句调侃,但背后藏着一个正在快速扩大的现实裂口&#xff1…

阅读更多 →
示波器核心参数与实战技巧:带宽、采样率、探头和触发全解析 2026/10/1 22:54:16

示波器核心参数与实战技巧:带宽、采样率、探头和触发全解析

1. 示波器到底在“看”什么:从一堆波形说起我第一次拿起示波器的探头时,心里想的是“这不是个大号的万用表嘛”。后来被老师傅纠正了——万用表告诉你“现在是多少伏”,示波器告诉你“电压在过去这段时间里是怎么变的”。这一个“怎么变”的差…

阅读更多 →
ESXi虚拟机导出导入的底层逻辑与OVF/OVA交付实战 2026/10/1 22:54:16

ESXi虚拟机导出导入的底层逻辑与OVF/OVA交付实战

1. 为什么“导出导入虚拟机”不是点几下鼠标的事——ESXi环境下的真实交付瓶颈你有没有遇到过这样的场景:在Dell R730服务器上部署完ESXi 8.0,搭好vSphere环境,创建了一台CentOS 7 Hadoop 3.3 Spark 3.3伪分布式集群的虚拟机,测…

阅读更多 →
LabVIEW活用ActiveX生成Excel报表:不装NI报表工具包也能搞定 2026/10/1 22:54:16

LabVIEW活用ActiveX生成Excel报表:不装NI报表工具包也能搞定

如果我说,用LabVIEW生成Excel报表,不一定非要装NI Report Generation Toolkit,可能很多人第一反应是不信。毕竟网上90%的教程翻来覆去就是那套流程:拖出New Report.vi、Append Table To Report.vi,然后万事大吉。但这些…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉