1
# Runtime: 254 ms (Top 43.79%) | Memory: 16.1 MB (Top 46.67%)
2
class Solution:
3
def trap(self, a: List[int]) -> int:
4
l = 0
5
r = len(a) - 1
6
maxl = 0
7
maxr = 0
8
res = 0
9

10
while l <= r:
11
if a[l] <= a[r]:
12
if a[l] >= maxl:
13
maxl = a[l] # update maxl if a[l] is >=
14
else:
15
res += maxl - a[l] # adding captured water when maxl>a[l]
16
l += 1
17
else:
18
if a[r] >= maxr:
19
maxr = a[r]
20
else:
21
res += maxr - a[r]
22
r -= 1
23
return res

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0