class Solution {
public int canCompleteCircuit(int[] gas, int[] cost) {
int[] sub = new int[gas.length]; //本题关键在于利用gas[i]和cost[i]相减求出差值sub[i]
int all_money=0; //利用差值sub[i]来进行贪心寻找可行解
int start = 0;
for(int i=0;i<gas.length;i++){
sub[i] = gas[i]-cost[i];
}
if(sum(sub)<0){
return -1;
}
for(int i = 0;i<sub.length;i++){
all_money+=sub[i];
if(all_money<0){
start=i+1;
all_money=0;
}
}
return start;
}
public int sum(int[] a){
int s=0;
for(int num: a){
s+=num;
}
return s;
}
}