LeetCode gas-station
题目描述环形路上有n个加油站第i个加油站的汽油量是gas[i].你有一辆车车的油箱可以无限装汽油。从加油站i走到下一个加油站i1花费的油量是cost[i]你从一个加油站出发刚开始的时候油箱里面没有汽油。求从哪个加油站出发可以在环形路上走一圈。返回加油站的下标如果没有答案的话返回-1。注意答案保证唯一。There are N gas stations along a circular route, where the amount of gas at station i is gas[i].You have a car with an unlimited gas tank and it costs cost[i] of gas to travel from station i to its next station (i1). You begin the journey with an empty tank at one of the gas stations.Return the starting gas stations index if you can travel around the circuit once, otherwise return -1.Note:The solution is guaranteed to be unique.解题思路从start出发油量够就一直向后走end不够的话start向后退这样就能够在油量不够的时候往后遍历新的出发点最后start end 的时候如果有解就是start的位置。class Solution { public: int canCompleteCircuit(vectorint gas, vectorint cost) { int start gas.size() - 1; int end 0; int sum gas[start] - cost[start]; while( start end){ if(sum 0){ sum gas[end] - cost[end]; end; } else{ start--; sum gas[start] - cost[start]; } } return sum 0 ? start : -1; } };

相关新闻

最新新闻

日新闻

周新闻

月新闻