Gas Station¶
# https://leetcode.com/problems/gas-station/
class Solution:
def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
n = len(gas)
total_surplus = 0
surplus = 0
start = 0
for i in range(n):
total_surplus += gas[i] - cost[i]
surplus = gas[i] - cost[i]
if surplus < 0:
surplus = 0
start = i + 1 # start next
return -1 if (total_surplus < 0) else start