链接:https://leetcode.com/problems/gas-station/
题意:一个环形道路上有n个加油站,每个加油站有油gas[i],加油站之间的道路消耗油cost[i],一开始车的油为空,从哪个点开始走能把一圈走完?
解法:从0点开始算,起点应该为gas[i]-cost[i]之和最小的那个加油站的下一个加油站。代码如下:
class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
int length=gas.size(),i,c=0,maxV,minV,mIndex=0;
if(length==0) return -1;
minV=gas[0]-cost[0];
for(i=0;i<length;i++)
{
c=c+gas[i]-cost[i];
if(c<minV)
{
minV=c;
mIndex=i;
}
}
if(c<0) return -1;
else return (mIndex+1)%length;
}
};