hard
arrays
two-pointers
stack
dynamic-programming
Each non-negative value in height is a unit-width elevation bar. Return the total water units retained after rain.
Input / output
- Input:
height: integer[] - Output: integer water volume
Examples
[0,1,0,2,1,0,1,3,2,1,2,1]returns6.[4,2,0,3,2,5]returns9.
Constraints
0 <= height.length <= 100,0000 <= height[i] <= 100,000
Follow-up Derive the two-pointer rule from the smaller of the left and right maxima.
Examples
Example 1
Input: height = [0,1,0,2,1,0,1,3,2,1,2,1]
Output: 6
Example 2
Input: height = [4,2,0,3,2,5]
Output: 9
Example 3
Input: height = [1,0,1]
Output: 1
🔒 5 hidden
Running will execute all 8 cases, including 5 hidden ones.