算法分析与设计第十周作业
题目
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 in the clockwise direction, otherwise return -1.
题目传送门
解答
class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
int start = 0, lack = 0, left = 0;
for(int i = 0; i < gas.size(); i++)
{
left += gas[i] - cost[i];
if(left < 0)
{
start = i+1;
lack += left;
left = 0;
}
}
return left+lack>=0?start:-1;
}
};