class Solution {
public:
int canCompleteCircuit(vector<int> &gas, vector<int> &cost) {
int sum=0,total=0,i,start=0;
for(i=0;i<gas.size();i++)
{
sum=sum+gas[i]-cost[i];
total=total+gas[i]-cost[i];
if(sum<0)
{
sum=0;
start=(i+1)%gas.size();
}
}
if(total<0)
return -1;
else
return start;
}
};
这题用笨办法会超时,看了http://blog.csdn.net/jellyyin/article/details/12245429,才知道好办法