class Solution {
public int canCompleteCircuit(int[] gas, int[] cost) {
int len = gas.length;
int spare = 0;
int minSpare = Integer.MAX_VALUE;
int minIndex = 0;
for (int i = 0; i < len; i++) {
spare += gas[i] - cost[i];
//找出哪个点亏空最严重
if (spare < minSpare) {
minSpare = spare;
minIndex = i;
}
}
if (spare < 0)
return -1;
//如果亏空最严重的地方都>0,说明都满足
if (minSpare > 0)
return 0;
//亏空最严重的点一定要放在最后,等待前面剩余
return (minIndex + 1) % len;
}
}
leetcode 134加油站
最新推荐文章于 2024-07-25 11:15:54 发布