Trapping Rain Water

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining. Example: Input: height = [0,1,0,2,1,0,1,3,2,1,2,1] Output: 6 Explanation: Water is trapped in the basins formed between taller bars. Pattern focus: Monotonic Decreasing Stack for bounded valleys.

Input Format

height = elevation map

Output Format

total trapped water units

Constraints

  • 1 <= height.length <= 10^5
  • 0 <= height[i] <= 10^5

Examples

Example 1:

Input:

height = [0,1,0,2,1,0,1,3,2,1,2,1]

Output:

6

Explanation:

Each bounded basin contributes water based on the lower of the two walls.

Example 2:

Input:

height = [4,2,0,3,2,5]

Output:

9

Explanation:

Multiple basins can be accumulated independently.

Loading...
Trapping Rain Water - Monotonic Stack Queue