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

加油站【贪心算法】

  1. 加油站
    在一条环路上有 n 个加油站,其中第 i 个加油站有汽油 gas[i] 升。

你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。

给定两个整数数组 gas 和 cost ,如果你可以按顺序绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。
在这里插入图片描述

class Solution {public int canCompleteCircuit(int[] gas, int[] cost) {int curSum = 0;int totalSum = 0;int index = 0;for (int i = 0; i < gas.length; i++) {//计算累加过程,积累下的汽油curSum += gas[i] - cost[i];totalSum += gas[i] - cost[i];//如果出现和为负数,说明不可行,清零当前剩余油量,并尝试从下个站点出发if (curSum < 0) {index = i + 1;curSum = 0;}}//遍历完之后,看totalSum是否大于等于0,由此判断能不能跑完一圈(需在for循环结束后(外面)判断)if (totalSum < 0) {return -1;}return index;}
}
http://www.lryc.cn/news/145165.html

相关文章:

  • java八股文面试[多线程]——死锁、活锁、饥饿
  • 设计模式——装饰器模式
  • ①matlab的命令掌握
  • MySQL----索引
  • 秒杀系统的业务流程以及优化方案(实现异步秒杀)
  • Java实现根据商品ID获取1688商品详情跨境属性数据,1688商品重量数据接口,1688API接口封装方法
  • 前端面试的性能优化部分(14)每天10个小知识点
  • Uniapp笔记(六)uniapp基础
  • C++ sort函数用法
  • 电子仓库预测水浸事件,他怎么做到的?
  • CMake调用第三方库的两种方法
  • Django基础7——用户认证系统、Session管理、CSRF安全防护机制
  • 基于流计算 Oceanus(Flink) CDC 做好数据集成场景
  • MySQL8.Xx安装控制台未生成随机密码解决方案
  • 安装VS2005时提示:请插入磁盘:visual studio 2005 DVD
  • OpenVINO2023使用简介
  • 基于React实现无限滚动的日历详细教程,附源码【手写日历教程第二篇】
  • 68、使用aws官方的demo和配置aws服务,进行视频流上传播放
  • 数据库
  • 深入了解fcntl函数:Linux系统编程中的文件控制
  • 汇川技术内推码
  • nacos服务器启动报错集合
  • C语言_分支和循环语句(2)
  • JMeter 接口自动化测试:从入门到精通的完全指南
  • 【Java】集合List的toArray()方法及其重载
  • Python学习笔记:Requests库安装、通过url下载文件
  • git pull --rebase 用法
  • react antd框架中的徽标获取数据对应状态的数量
  • 【多线程】Thread类的用法
  • 第八章 贪心算法 part03 1005.K次取反后最大化的数组和 134. 加油站 135. 分发糖果 (day34补)