package q134 func canCompleteCircuit(gas []int, cost []int) int { invalidated := 0 start, current, tank := 0, 0, 0 for { tank = tank + gas[current] - cost[current] current = (current + 1) % len(gas) if tank < 0 { invalidated += (current - start + len(gas)) % len(gas) if invalidated >= len(gas) || current == start { return -1 } start = current tank = 0 } else if current == start { return start } } } var _ = canCompleteCircuit