class Solution {
public:
int canCompleteCircuit(vector<int> &gas, vector<int> &cost) {
int sum=0;
int total=0;
int start=-1;
for(int i=0;i<gas.size();++i){
sum+=(gas[i]-cost[i]);
total+=(gas[i]-cost[i]);
if(sum<0){
sum=0;
start=i; // // 不能达到该点i,则start到i-1之间的点都不能作为有效起点,将i作为新的起始点
}
}
//int sum=gas[start]-cost[start];
return total>=0?(start+1):-1;
}
};
贪心环 加油站问题
猜你喜欢
转载自blog.csdn.net/u010325193/article/details/85526567
今日推荐
周排行