文章目录

  • 134. 加油站
    • 题目描述
    • 思路分析
    • 参考代码
  • 135. 分发糖果
    • 题目描述
    • 思路分析
    • 参考代码
  • 860. 柠檬水找零
    • 题目描述
    • 思路分析
    • 参考代码
  • 406. 根据身高重建队列
    • 题目描述
    • 思路分析
    • 参考代码

134. 加油站

题目描述

难度中等858收藏分享切换为英文接收动态反馈

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

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

给定两个整数数组 gascost ,如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -1 。如果存在解,则 保证 它是 唯一 的。

示例 1:

输入: gas = [1,2,3,4,5], cost = [3,4,5,1,2]
输出: 3
解释:
从 3 号加油站(索引为 3 处)出发,可获得 4 升汽油。此时油箱有 = 0 + 4 = 4 升汽油
开往 4 号加油站,此时油箱有 4 - 1 + 5 = 8 升汽油
开往 0 号加油站,此时油箱有 8 - 2 + 1 = 7 升汽油
开往 1 号加油站,此时油箱有 7 - 3 + 2 = 6 升汽油
开往 2 号加油站,此时油箱有 6 - 4 + 3 = 5 升汽油
开往 3 号加油站,你需要消耗 5 升汽油,正好足够你返回到 3 号加油站。
因此,3 可为起始索引。

示例 2:

输入: gas = [2,3,4], cost = [3,4,3]
输出: -1
解释:
你不能从 0 号或 1 号加油站出发,因为没有足够的汽油可以让你行驶到下一个加油站。
我们从 2 号加油站出发,可以获得 4 升汽油。 此时油箱有 = 0 + 4 = 4 升汽油
开往 0 号加油站,此时油箱有 4 - 3 + 2 = 3 升汽油
开往 1 号加油站,此时油箱有 3 - 3 + 3 = 3 升汽油
你无法返回 2 号加油站,因为返程需要消耗 4 升汽油,但是你的油箱只有 3 升汽油。
因此,无论怎样,你都不可能绕环路行驶一周。

思路分析

LeetCode刷题day50相关推荐

  1. LeetCode刷题记录15——21. Merge Two Sorted Lists(easy)

    LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) 目录 LeetCode刷题记录15--21. Merge Two Sorted Lists(easy) ...

  2. LeetCode刷题记录14——257. Binary Tree Paths(easy)

    LeetCode刷题记录14--257. Binary Tree Paths(easy) 目录 前言 题目 语言 思路 源码 后记 前言 数据结构感觉理论简单,实践起来很困难. 题目 给定一个二叉树, ...

  3. LeetCode刷题记录13——705. Design HashSet(easy)

    LeetCode刷题记录13--705. Design HashSet(easy) 目录 LeetCode刷题记录13--705. Design HashSet(easy) 前言 题目 语言 思路 源 ...

  4. LeetCode刷题记录12——232. Implement Queue using Stacks(easy)

    LeetCode刷题记录12--232. Implement Queue using Stacks(easy) 目录 LeetCode刷题记录12--232. Implement Queue usin ...

  5. LeetCode刷题记录11——290. Word Pattern(easy)

    LeetCode刷题记录11--290. Word Pattern(easy) 目录 LeetCode刷题记录11--290. Word Pattern(easy) 题目 语言 思路 源码 后记 题目 ...

  6. LeetCode刷题记录10——434. Number of Segments in a String(easy)

    LeetCode刷题记录10--434. Number of Segments in a String(easy) 目录 LeetCode刷题记录9--434. Number of Segments ...

  7. LeetCode刷题记录9——58. Length of Last Word(easy)

    LeetCode刷题记录9--58. Length of Last Word(easy) 目录 LeetCode刷题记录9--58. Length of Last Word(easy) 题目 语言 思 ...

  8. LeetCode刷题记录8——605. Can Place Flowers(easy)

    LeetCode刷题记录8--605. Can Place Flowers(easy) 目录 LeetCode刷题记录8--605. Can Place Flowers(easy) 题目 语言 思路 ...

  9. LeetCode刷题记录7——824. Goat Latin(easy)

    LeetCode刷题记录7--824. Goat Latin(easy) 目录 LeetCode刷题记录7--824. Goat Latin(easy) 题目 语言 思路 后记 题目 题目需要将一个输 ...

最新文章

  1. 监测SQLServer数据库中表的数据变化 方案
  2. Amazon Aurora是如何设计原生云关系型数据库的?
  3. 2018/7/18-纪中某C组题【jzoj3508,jzoj3509,jzoj3510,jzoj3512】
  4. 医疗:pacs(3)
  5. 那些年,我们解析过的前端异常
  6. coursera机器学习-聚类,降维,主成分分析
  7. 基于CUDA的GPU优化建议
  8. 【教程】迅为iTOP-4412精英版exynos4412开发板搭建原生Linux最小系统(四)
  9. SQL的DATEDIFF计算天数
  10. 全国大学生信息安全竞赛writeup--暗号(reverse300)
  11. python 实现微信自动回复(自动聊天)
  12. UEBA中的行为基线分析
  13. 如何使用GUID硬盘分区格式安装新windows系统
  14. 造轮子之后台管理模板
  15. Bootstrap4文件上传控件美化
  16. Registry私有仓库搭建及认证【转】
  17. break语句的作用
  18. 服务器2012系统用什么更新驱动程序,服务堆栈更新程序适用于 Windows 8 和 Windows Server 2012...
  19. 阿里云营收破百亿很牛?和AWS等全球头部厂商还差太多!
  20. python学习之一(变量的基本使用)

热门文章

  1. 06_《计算机安全原理与实践》访问控制
  2. android通过USB连接佳博80打印机
  3. vue--es6转es5打包
  4. 计算机二级 学习资料 网盘分享
  5. 通用汽车公司选择Qt在其“软件定义汽车”的整车开发流程中发挥突出作用
  6. tools :cflow
  7. wget安装MySQL(5.6和5.7超详细版)
  8. GRUB4DOS 直接引导XP.ISO安装
  9. 知识进步的阶梯--书
  10. 富含叶黄素的食物 - 眼睛的营养补充剂