代码随想录:加油站
class Solution {
public:
int canCompleteCircuit(vector<int>& gas, vector<int>& cost) {
int res = 0;
int sum = 0;
int total = 0;
//只要总量够,就能跑完一整圈
for (int i = 0; i < gas.size(); i++) {
total += gas[i];
total -= cost[i];
}
if (total < 0)
return -1;
//每次局部不够的时候,跳到下一个
for (int i = 0; i < gas.size(); i++) {
sum += gas[i];
sum -= cost[i];
if (sum < 0) {
sum = 0;
res = i+1;
continue;
}
}
return res;
}
};