Gas Station LeetCode solution in Python

1
class Solution:
2
def canCompleteCircuit(self, gas: List[int], cost: List[int]) -> int:
3
deltas = [x - y for x, y in zip(gas, cost)]
4
n = len(deltas)
5
deltas = deltas + deltas
6
cursum, curi = 0, 0
7
maxsum, maxi = 0, 0
8
for i, delta in enumerate(deltas):
9
cursum = max(0, cursum + delta)
10
if cursum == 0:
11
curi = i + 1
12
if cursum > maxsum:
13
maxi = curi
14
maxsum = cursum
15
cursum = 0
16
for i in range(n):
17
cursum += deltas[(maxi + i) % n]
18
if cursum < 0:
19
return -1
20
return maxi

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0