Gas Station

老题,这种circular的题一般都能转化成单向的。比如这题就是用sumDiff来判断是否有解,而start单向递增。

class Solution(object):def canCompleteCircuit(self, gas, cost):""":type gas: List[int]:type cost: List[int]:rtype: int"""sumGas = 0sumDiff = 0start = 0n = len(gas)for i in range(n):diff = gas[i]-cost[i]sumDiff+=diffif sumGas+diff<0:start=i+1else:sumGas+=diffif sumDiff>=0:return startelse:return -1

转载于:https://www.cnblogs.com/absolute/p/5675806.html

边工作边刷题:70天一遍leetcode: day 11-2相关推荐

  1. 边工作边刷题:70天一遍leetcode: day 94-1

    Largest BST Subtree 要点: http://articles.leetcode.com/largest-binary-search-tree-bst-in 这题重点是理解题意,还有道 ...

  2. 边工作边刷题:70天一遍leetcode: day 92

    House Robber I/II/III 这题代表了单向线性dp的基本pattern: build local best value at each element and track the gl ...

  3. 边工作边刷题:70天一遍leetcode: day 98

    LRU Cache 这是一道leetcode的难题,这种题往往是算法结构很复杂,涉及一个或多个考点算法和数据结构的组合,同时又有很多corner cases要考虑.所以一定要找到合适memorize的 ...

  4. 边工作边刷题:70天一遍leetcode: day 97-2

    Design Hit Counter 要点:因为是second granularity,所以可以用以秒为单位的circular buffer方法.这题简单在只需要count过去300秒的,增加难度可以 ...

  5. 边工作边刷题:70天一遍leetcode: day 73

    Read N Characters Given Read4 I/II 要点:这题的要点就是搞清楚几个变量的内在逻辑:只有buffer是整4 bytes的.而client要读的bytes(需求)和实际上 ...

  6. 边工作边刷题:70天一遍leetcode: day 7

    Max Points on a Line 要点:这题暴力解是用任何两点确定一条直线,然后对其他点检查是否共线,显然,这里没用空间来存储之前的检查结果,所以time complexity是O(n^3). ...

  7. 边工作边刷题:70天一遍leetcode: day 67-1

    Rectangle Area 要点:基本思路就是先分开算再减去相交部分,这题的难点是如何检查是否相交和如何算出相交部分的面积. 2d转化为1d:x轴和y轴是orthogonal的.可以分开考虑.这样检 ...

  8. 边工作边刷题:70天一遍leetcode: day 6

    Compare Version Numbers 题本身思路简单没什么可说的.值得一提的是corner case:多出来的0和没有是相同版本,这样最简单的处理是直接对没有的补0.这样因为需要补齐,循环是 ...

  9. 边工作边刷题:70天一遍leetcode: day 11-1

    Clone Graph dfs或者bfs都可以做,这题的要点是hashmap有两个作用:一是图遍历中的visited,另一个是存copy的结点来连接neighbors.hashmap即表示visite ...

最新文章

  1. poj2217详解 ( 后缀数组 + 高度数组 )
  2. 13.Zookeeper的java客户端API使用方法
  3. AppBox升级进行时 - 拥抱Entity Framework的Code First开发模式
  4. 操作系统内存管理-Linux版
  5. decisiontreeregressor_机器学习算法-Decision Tree
  6. Cesium中Clock控件及时间序列瓦片动态加载
  7. 学习笔记——一个指针有趣的问题
  8. 3 了解MyBatis映射文件
  9. Selenium - CSS Selector
  10. linux c通过文件描述符以及write和read方法对文件进行读写
  11. 实参与形参不兼容怎么解决_上岗证报名照片无法上传非官方解决方案
  12. php网页输入框,php网页的输入框显示中文异常
  13. hystrix参数使用方法
  14. php 无符号位移怎么使用,,(有符号位移)和(无符号位移)的使用方法,及差别...
  15. python抓取天气预报_抓取天气预报的代码(Python)
  16. SpringBoot使用菜鸟物流云打印电子面单
  17. jdk1.8 64位与32位免费下载
  18. Luarocks: 安装 lyaml 库
  19. 【javascript】解析psd文件踩坑
  20. Python入门-网络编程

热门文章

  1. Hermite曲线与Bezier曲线的关系
  2. Codeforces Round #476 (Div. 2) B. Battleship
  3. 基于灰度的模板匹配算法(一):MAD、SAD、SSD、MSD、NCC、SSDA算法
  4. convexHull函数
  5. selenium.common.exceptions.WebDriverException: Message: unknown error: cannot find Chrome binary
  6. 牛顿插值多项式(python实现)
  7. 高精度数取余(C\C++)
  8. Keras的回调函数
  9. Anacanda的安装
  10. LOJ P1155 双栈排序 二分图染色 图论