Week4 134. Gas Station
来源:互联网 发布:网络域名查询 编辑:程序博客网 时间:2024/06/05 01:17
题目
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]
.
You have a car with an unlimited gas tank and it costs cost[i]
of gas to travel from station i to its next station (i+1). You begin the journey with an empty tank at one of the gas stations.
Return the starting gas station's index if you can travel around the circuit once, otherwise return -1.
Note:
The solution is guaranteed to be unique.
分析
如果用最简单的方法所有点遍历一次,把每个点都作为起点,不过这样子复杂度会比较高。
所以我们现在考虑只需要遍历一次的方法
经过每个油站对车来讲就是只有两种情况,即加油或耗油,于是我们构造数组leftGas[i] = add[i] - cost[i].表示经过一个油站对油量的影响.
现在考虑从油站i出发一直到油站p油箱油<0,
即:sum1>=0
sum2 = sum1 + leftGas[p]<0
那么如果我们从i出发到不了p,只需要考虑从p出发就好了,这样只需要遍历一次数组就可以得到答案.
代码
class Solution {public: int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { int l = gas.size(); if (l <= 0) return -1; int s = 0; int curSum = 0; int b = 0 ,total = 0; for (int i = 0; i < l; ++i) { curSum += (gas[i] - cost[i]); total += (gas[i] - cost[i]); if (curSum >= 0) { } else { b = i+1; curSum = 0; } } if (total >= 0) return b; else return -1; }};
阅读全文
0 0
- Week4 134. Gas Station
- [LeetCode]134.Gas Station
- LeetCode 134. Gas Station
- [Leetcode] 134. Gas Station
- 134. Gas Station
- [leetcode] 134. Gas Station
- Leetcode-134.Gas Station
- 134. Gas Station LeetCode
- 134. Gas Station
- Leetcode 134. Gas Station
- 134. Gas Station
- 134. Gas Station
- [LeetCode]134. Gas Station
- LeetCode 134. Gas Station
- leetcode 134. Gas Station
- LeetCode *** 134. Gas Station
- 134. Gas Station
- LeetCode 134. Gas Station
- 牛客网前端编程环境Chrome V8模拟
- redis数据操作
- python之基本数据类型
- multiprocess模块使用进程池时往Pool对象传入的函数不巧当导致进程运行速度跟单线程速度一样
- 使用命令行安装scipy包失败的解决方法
- Week4 134. Gas Station
- [BZOJ 4034][HAOI 2015] 树上操作 树链剖分+DFS序
- Mvc对请求的处理机制
- 数据分析介绍之一——单变量数据观察之抖动图
- 磁带录音原理
- win10下安装tomcat
- Spring Boot 打包本地 .jar 文件
- BRIEF,rBRIEF,BOLD——从Binary描述量说起
- windows下python安装Numpy、Scipy、matplotlib模块