刷题笔记:力扣第134题-加油站

发布时间:2026/8/7 9:42:41

刷题笔记:力扣第134题-加油站
1.拿到题目想到本题应该是在“gas[i] – cost[i]”即净赚汽油上做文章所以尝试使用滑动窗口方法不断向右移动右边界cur。当窗口内的净赚汽油总和大于0时说明能到达该处如果小于0则不断收缩左边界start直到总和大于0。同时维护已经途径的加油站个数step当step gasSize时说明找到了答案如果cur已经到达数组末尾但还没有满足条件的step则说明无解。2.基于以上思想写出的完整代码如下1. int canCompleteCircuit(int* gas, int gasSize, int* cost, int costSize) { 2. // start候选起点下标 3. int start 0; 4. // cur当前遍历到的站点指针 5. int cur 0; 6. // sum当前区间内剩余油量总和 7. int sum 0; 8. // step当前区间包含的站点数量 9. int step 0; 10. 11. // 候选起点不超过总站数时循环 12. while (start gasSize){ 13. // 计算当前站点加油减耗油的净油量 14. int tmp gas[cur % gasSize] - cost[cur % costSize]; 15. sum tmp; 16. // 前进到下一站 17. cur; 18. step; 19. 20. // 当前区间油量不足不断抛弃起点站点直到sum0或区间无站点 21. while (sum 0 step 0){ 22. sum - gas[start % gasSize] - cost[start % costSize]; 23. start; 24. step--; 25. } 26. 27. // 区间站点数量等于总站数说明成功绕环一周返回起点 28. if (step gasSize) return start; 29. } 30. 31. // 所有起点均无法完成环路返回-1 32. return -1; 33. }该算法时间复杂度为O(n)空间复杂度为O(1)。3.在使用滑动窗口的时候遇到了如下细节问题1一开始错误地认为净赚汽油为gas[cur % gasSize] - cost[(cur gasSize - 1) % costSize]原因是看到官方题目示例中的一加一减就是错位的但没有考虑该示例一开始就单独加上了出发地的获取汽油数并在最后单独减去了到达该处的所需汽油数所以真正的周期还是gas[cur % gasSize] - cost[cur % costSize]即当前加油站能获取的汽油数减去到达当前加油站的所需汽油数。2收缩左边界start应该放在while循环中而不是if中因为本题滑动窗口的逻辑需要内部总和大于0时再扩张右边界cur只if判断一次、收缩左边界start一次无法保证内部总和大于0。

相关新闻

Spring Cloud Gateway 缓冲区限制:彻底解决 262144 字节错误

Spring Cloud Gateway 缓冲区限制:彻底解决 262144 字节错误

2026/8/7 9:32:41

1. 项目概述:一个困扰微服务开发者的经典难题如果你正在使用 Spring Cloud Gateway 构建微服务网关,并且你的应用涉及文件上传、大表单提交或者接收来自上游服务的较大响应体,那么你大概率遇到过这个令人头疼的报错:Exceeded limi…

三相电基本配电系统

三相电基本配电系统

2026/8/7 9:32:41

基本配电系统图工厂配电系统采用三级配电、TN-S三相五线制标准架构,由总配电柜、分配电柜、末端设备箱逐级送电。系统通过断路器实现过载、短路保护,搭配漏电保护、可靠接地,保障人身与设备安全。采用放射式、树干式结合布线,配合…

AI Agent混合部署实战:SSH隧道连接云端大脑与本地执行器

AI Agent混合部署实战:SSH隧道连接云端大脑与本地执行器

2026/8/7 9:32:41

1. 从“玩具”到“生产力”:为什么我们需要混合部署 如果你和我一样,对AI Agent抱有极高的期待,那么OpenClaw这个名字你一定不陌生。它被许多人称为“AI界的瑞士军刀”,一个能通过自然语言指令,帮你操作电脑、处理文件…

前言写作黄金法则:从痛点切入到价值承诺的完整指南

前言写作黄金法则:从痛点切入到价值承诺的完整指南

2026/8/7 10:42:44

1. 项目概述:为什么“前言”如此重要? 在任何一个项目、一本书、一篇报告甚至是一份简单的PPT里,你都能看到一个名为“前言”的部分。很多人会习惯性地跳过它,直奔主题,认为这只是些无关紧要的客套话。但作为一个在内容…

前端工程师完整工作流:从需求到交付的实战指南

前端工程师完整工作流:从需求到交付的实战指南

2026/8/7 10:42:44

1. 从需求到交付:一个前端工程师的完整工作流拆解干了这么多年前端,我发现一个挺有意思的现象:很多刚入行的朋友,甚至一些工作了几年的同行,对“前端开发”的理解还停留在“写页面”、“调样式”、“对接接口”这个层面…

Windows 11任务栏拖放功能快速恢复:终极完整指南

Windows 11任务栏拖放功能快速恢复:终极完整指南

2026/8/7 10:42:44

Windows 11任务栏拖放功能快速恢复:终极完整指南 【免费下载链接】Windows11DragAndDropToTaskbarFix "Windows 11 Drag & Drop to the Taskbar (Fix)" fixes the missing "Drag & Drop to the Taskbar" support in Windows 11. It wor…

Vue.js高效开发工具链全解析:从编码到部署的实战指南

Vue.js高效开发工具链全解析:从编码到部署的实战指南

2026/8/7 10:42:44

1. 项目概述:从“工欲善其事”到“必先利其器” 做前端开发,尤其是用Vue.js,这几年感触最深的一点就是:框架本身只是给了你一套好用的积木,但要把房子盖得又快又好,还得看你的工具箱里有什么。很多新手朋友…

FPGA时序约束实战指南:从原理到Vivado工程实践

FPGA时序约束实战指南:从原理到Vivado工程实践

2026/8/7 10:42:44

1. 项目概述:为什么时序约束是FPGA设计的“交通规则” 刚接触Vivado的FPGA工程师,尤其是从单片机或软件转过来的朋友,常常会有一个疑惑:我的RTL代码明明仿真都通过了,功能也验证了,为什么下载到板子上就是跑…

3分钟学会使用Umi-OCR:免费离线文字识别工具终极指南

3分钟学会使用Umi-OCR:免费离线文字识别工具终极指南

2026/8/7 10:32:44

3分钟学会使用Umi-OCR:免费离线文字识别工具终极指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。内置多国语言…

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案

2026/8/6 19:19:00

ncmdumpGUI:一键解锁网易云音乐ncm文件的终极解决方案 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾经从网易云音乐下载了心爱的歌曲&am…

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比

2026/8/5 6:02:27

分布式配置中心选型实战:Nacos与Consul在创业场景下的对比工程导读:本文深入讨论 分布式配置中心选型实战:Nacos与Consul在创业场景下的对比 在生产工程实践中的核心落地方案。基于 分布式架构与微服务设计 视角,剖析实际痛点、架…

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案

2026/8/5 8:19:55

MoneyPrinterPlus实战指南:AI视频批量生成与自动化发布完整解决方案 【免费下载链接】MoneyPrinterPlus AI一键批量生成各类短视频,自动批量混剪短视频,自动把视频发布到抖音,快手,小红书,视频号上,赚钱从来没有这么容易过! 支持本地语音模型chatTTS,fasterwhisper,…

CAD图库管理:从文件归档到设计资产管理的效率革命

CAD图库管理:从文件归档到设计资产管理的效率革命

2026/8/7 0:02:15

你肯定遇到过这种情况:打开一个老项目,想找某个特定的图块——比如一个标准的门、一个特定的设备符号,或者一个公司logo。你记得它就在某个DWG文件里,或者曾经从某个同事那里拷来过。于是,你开始在一堆命名混乱的文件夹…

5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南

5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南

2026/8/7 0:02:15

5分钟掌握Wand-Enhancer:2026年终极WeMod专业版免费解锁指南 【免费下载链接】Wand-Enhancer Advanced UX and interoperability extension for Wand (WeMod) app 项目地址: https://gitcode.com/GitHub_Trending/we/Wand-Enhancer Wand-Enhancer是一款功能强…

“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求

“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求

2026/8/7 0:02:15

“Quality Control(质量控制)”在软件工程中通常指通过一系列活动确保软件产品符合预定的质量标准和用户需求。而“软件测试”是质量控制的关键手段之一,属于QC范畴下的具体实践,其目标是发现缺陷、验证功能正确性、评估软件质量属…

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

摆脱论文困扰!盘点2026年全网爆红的的AI论文写作工具

2026/8/6 5:43:30

一天写完毕业论文在2026年已不再是天方夜谭。2026年最炸裂、实测能大幅提速的AI论文写作工具,覆盖选题构思、文献整理、内容生成、格式排版等核心场景,真正帮你高效搞定论文难题。 一、全流程王者:一站式搞定论文全链路(一天定稿首…

导师推荐!2026最新AI论文工具测评与实用推荐

导师推荐!2026最新AI论文工具测评与实用推荐

2026/8/7 8:02:42

2026年真正好用的AI论文工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 一、…

告别游戏崩溃:XCOM 2模组管理器的智能革命

告别游戏崩溃:XCOM 2模组管理器的智能革命

2026/8/4 15:11:03

告别游戏崩溃:XCOM 2模组管理器的智能革命 【免费下载链接】xcom2-launcher The Alternative Mod Launcher (AML) is a replacement for the default game launchers from XCOM 2 and XCOM Chimera Squad. 项目地址: https://gitcode.com/gh_mirrors/xc/xcom2-lau…