在一条环路上有 N 个加油站,其中第 i 个加油站有汽油gas[i]。
你有一辆油箱容量无限的的汽车,从第 i 个加油站前往第 i+1 个加油站需要消耗汽油 cost[i]。你从其中一个加油站出发,开始时油箱为空。
如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回-1。
注意:
给定的数据可保证答案是唯一的。
详见:https://leetcode.com/problems/gas-station/description/
class Solution { public: int canCompleteCircuit(vector<int>& gas, vector<int>& cost) { if(gas.size()==0||cost.size()==0||gas.size()!=cost.size()) { return -1; } int total=0; int sum=0; int start=0; for(int i=0;i<gas.size();++i) { total+=gas[i]-cost[i]; sum+=gas[i]-cost[i]; if(sum<0) { start=i+1; sum=0; } } return total<0?-1:start; } };
参考:https://www.cnblogs.com/grandyang/p/4266812.html
原文地址:https://www.cnblogs.com/xidian2014/p/8724554.html
时间: 2024-10-10 18:03:12