← Back to problems Solve on LeetCode →

Trapping Rain Water

LeetCode 42 • Hard • Arrays / Two Pointers

Input: height = [0,1,0,2,1,0,1,3,2,1,2,1] → Output: 6. Water at i = min(max_left, max_right) - height[i]. Two pointers move inward.

TimeO(n)
SpaceO(1)
left: right: water: 0
Left
Right
Water
left
right
water0
Ready
Press Play. Two pointers: left and right. Water at current = min(maxL, maxR) - height. Move pointer at smaller max.