汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处。

沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 station[i][1] 升汽油。

假设汽车油箱的容量是无限的,其中最初有 startFuel 升燃料。它每行驶 1 英里就会用掉 1 升汽油。

当汽车到达加油站时,它可能停下来加油,将所有汽油从加油站转移到汽车中。

为了到达目的地,汽车所必要的最低加油次数是多少?如果无法到达目的地,则返回 -1

注意:如果汽车到达加油站时剩余燃料为 0,它仍然可以在那里加油。如果汽车到达目的地时剩余燃料为 0,仍然认为它已经到达目的地。

示例 1:

输入:target = 1, startFuel = 1, stations = []
输出:0
解释:我们可以在不加油的情况下到达目的地。

示例 2:

输入:target = 100, startFuel = 1, stations = [[10,100]]
输出:-1
解释:我们无法抵达目的地,甚至无法到达第一个加油站。

示例 3:

输入:target = 100, startFuel = 10, stations = [[10,60],[20,30],[30,30],[60,40]]
输出:2
解释:
我们出发时有 10 升燃料。
我们开车来到距起点 10 英里处的加油站,消耗 10 升燃料。将汽油从 0 升加到 60 升。
然后,我们从 10 英里处的加油站开到 60 英里处的加油站(消耗 50 升燃料),
并将汽油从 10 升加到 50 升。然后我们开车抵达目的地。
我们沿途在1两个加油站停靠,所以返回 2 。

提示:

  1. 1 <= target, startFuel, stations[i][1] <= 10^9
  2. 0 <= stations.length <= 500
  3. 0 < stations[0][0] < stations[1][0] < ... < stations[stations.length-1][0] < target

871. 最低加油次数相关推荐

  1. 871 最低加油次数

    汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处. 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 station[i][0] 英里处,并且有 s ...

  2. LeetCode 871. 最低加油次数

    最近刷LeetCode题目的一些思路,题目信息 汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处. 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 ...

  3. 79. Leetcode 871. 最低加油次数 (堆-技巧三-事后小诸葛)

    技巧三 - 事后小诸葛这个技巧指的是:当从左到右遍历的时候,我们是不知道右边是什么的,需要等到你到了右边之后才知道.如果想知道右边是什么,一种简单的方式是遍历两次,第一次遍历将数据记录下来,当第二次遍 ...

  4. 【871. 最低加油次数】

    来源:力扣(LeetCode) 描述: 汽车从起点出发驶向目的地,该目的地位于出发位置东面 target 英里处. 沿途有加油站,每个 station[i] 代表一个加油站,它位于出发位置东面 sta ...

  5. LeetCode(871):最低加油次数 Minimum Number of Refueling Stops(Java)

    2019.7.25 #程序员笔试必备# LeetCode 从零单刷个人笔记整理(持续更新) 这道智力题让我想起了LeetCode 871:加油站. 可以很容易能够想到用回溯法来做,每次经过加油站选择加 ...

  6. [Swift]LeetCode871. 最低加油次数 | Minimum Number of Refueling Stops

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★ ➤微信公众号:山青咏芝(shanqingyongzhi) ➤博客园地址:山青咏芝(https://www.cnblog ...

  7. Minimum Number of Refueling Stops(C++最低加油次数)

    参考网址:https://leetcode.com/problems/minimum-number-of-refueling-stops/discuss/149839/DP-O(N2)-and-Pri ...

  8. LeetCode 871. Minimum Number of Refueling Stops 最少加油次数

    LeetCode 871. Minimum Number of Refueling Stops 本题是LeetCode 871题,最少加油次数. 题目描述 A car travels from a s ...

  9. POJ2431贪心(最少加油次数)

    题意:        给一个终点,然后给你一个卡车距离终点的距离,还有其他个加油站距离终点的距离,然后每走一个单位距离要花费一个单位油,卡车的邮箱是无限大的,而每个加油站的油量是有限的,整个路径是一个 ...

最新文章

  1. C++ 虚函数和纯虚函数的用法
  2. 牛客华为机试第4题python
  3. Android之Android实现浮层的上下滑动(支持内部添加View)
  4. SonarQube6.2源码解析(四)
  5. 电脑显示计算机无法显示,如果计算机无法打开怎么办?
  6. Docker学习总结(9)——Docker常用命令
  7. mysql必知必会心得_SQL必知必会知识总结
  8. 快用苹果助手安装失败_最新建行信用卡调额失败后的抓包详细教程
  9. Java多线程和操作系统多线程关系
  10. 【面经】Thoughtworks软件开发
  11. 《又到毕业季》MATLAB GUI 鼠标键盘交互
  12. Work Breakdown Structure
  13. alanwang[GDOU] 写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果。两个整数由键盘输入
  14. krait和kryo_高效的Java序列化(Kryo和FST)
  15. 360浏览器中页面打开如何默认极速模式
  16. Havel-Hakimi定理问题
  17. Java基础笔记:Day_10 接口、匿名内部类
  18. Java程序百钱百鸡
  19. 第55届高博会余温未减,中科易安联网智能门锁获全国高校青睐
  20. 手机ANR问题处理方法及策略

热门文章

  1. ACM本周搜索做题小结和心得体会
  2. 数据库编程-----数据库设计范式
  3. Err-disabled网络故障分析
  4. 移植Python2.7到ARM-LINUX嵌入式平台
  5. Python3.7 高级编程之 async/await asyncio 事件循环的使用
  6. python 更新 pip 命令
  7. Room实现数据统一管理-Repo
  8. 剑指Offer专项突破版(58)—— 日程表
  9. 大规模机器学习:SGD,mini-batch和MapReduce
  10. java数组下标0_Java语言中数组元素下标从0开始。