class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
int n = gas.size();
int i = 0;
while (i < n)
{
int sumOfGas = 0, sumOfCost = 0;
int cnt = 0; //看是否走完一圈
while (cnt < n)
{
int j = (i + cnt) % n;
sumOfGas += gas[j];
sumOfCost += cost[j];
if (sumOfCost > sumOfGas)
{
break;
}
cnt++;
}
if (cnt == n)
{
return i;
}
else
{
i = i + cnt + 1; //cnt不为0,后面的cnt位肯定不符合
}
}
return -1;
}
};