class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
int n = gas.size();
if(n<1) return 0;
vector<int> t(2*n, 0);
for(int i=0;i<gas.size();i++){
int temp = gas[i]-cost[i];
t[i] = temp;
t[n+i] = temp;
}
for(int i=0;i<gas.size();i++){
if(t[i]<0) continue;
int tt = 0;
for(int j=i;j<i+n;j++){
tt += t[j];
if(tt<0) break;
}
if(tt>=0) return i;
}
return -1;
}
};
其实不需要模拟环