加油站问题
2015-10-11 10:35
399 查看
在一条环路上有 N 个加油站,其中第 i 个加油站有汽油
你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。
求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回
样例
现在有4个加油站,汽油量
数据保证答案唯一。
gas[i],并且从第_i_个加油站前往第_i_+1个加油站需要消耗汽油
cost[i]。
你有一辆油箱容量无限大的汽车,现在要从某一个加油站出发绕环路一周,一开始油箱为空。
求可环绕环路一周时出发的加油站的编号,若不存在环绕一周的方案,则返回
-1。
样例
现在有4个加油站,汽油量
gas[i]=[1, 1, 3, 1],环路旅行时消耗的汽油量
cost[i]=[2, 2, 1, 1]。则出发的加油站的编号为2。
数据保证答案唯一。
class Solution { public: /** * @param gas: a vector of integers * @param cost: a vector of integers * @return: an integer */ int canCompleteCircuit(vector<int> &gas, vector<int> &cost) { // write your code here int n=gas.size(); int flag=0; int thissum=0; int allsum=0; for(int i=0;i<n;i++){ allsum+=gas[i]-cost[i]; thissum+=gas[i]-cost[i]; if(thissum<0){ thissum=0; flag=i+1; } } return allsum>=0?flag:-1; } };
相关文章推荐
- 【c语言】 计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。
- HDU 5500【水】
- 随写
- 文章标题
- tomcat无法启动异常
- ocp-294
- ocp-293
- 【LeetCode从零单刷】Swap Nodes in Pairs
- 1 2 3 5 8 13 21 ...求前100个数
- ocp-292
- ArduPilot/APM源码学习笔记(一)
- VB 增强的部件与引用
- zookeeperのjava应用
- ocp-291
- bzoj1477: 青蛙的约会
- Python 基础语法(一)
- ext.net中ComboBox空间实现模糊查询
- Bootstrap
- Maven学习笔记2-坐标与依赖
- 成员函数调用