题目链接
法一(贪心)
public int canCompleteCircuit(int[] gas, int[] cost) {
int curSum = 0, totalSum = 0, start = 0;
for (int i = 0; i < gas.length; i++) {
curSum += gas[i] - cost[i];
totalSum += gas[i] - cost[i];
if (curSum < 0) {
start = i + 1;
curSum = 0;
}
}
return totalSum < 0 ? -1 : start;
}
本地测试
lay.showTitle(134);
Solution134 sol134 = new Solution134();
int[] gas134 = new int[]{1, 2, 3, 4, 5};
int[] cost134 = new int[]{3, 4, 5, 1, 2};
System.out.println(Arrays.toString(gas134));
System.out.println(Arrays.toString(cost134));
System.out.println(sol134.canCompleteCircuit(gas134, cost134));