Trapping Rain Water
42
Two Pointers
class Solution:
def trap(self, h):
"""
:type h: List[int]
:rtype: int
"""
left = 0
right = len(h) -1
leftMax, rightMax = 0, 0
res = 0
while left < right:
if h[left] < h[right]:
if h[left] > leftMax:
leftMax = h[left]
else:
res += (leftMax - h[left])
left += 1
if h[left] >= h[right]:
if h[right] > rightMax:
rightMax = h[right]
else:
res += (rightMax - h[right])
right -=1
return res
Last updated