Skip to content

Can Complete Circuit

LeetCode Problem

# 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