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 1:
Example 2:
Constraints:
n == height.length
1 <= n <= 2 * 104
0 <= height[i] <= 105
You can solve this problem using the two-pointer approach. Here's a JavaScript implementation:
This implementation uses two pointers, left
and right
, which initially point to the start and end of the array, respectively. It also maintains leftMax
and rightMax
, representing the maximum height encountered from the left and right, respectively.
The algorithm then iterates through the array, moving the pointers towards each other until they meet. At each step, it calculates the water trapped between the current left and right pointers based on the difference between the current height and the corresponding maximum height encountered so far. Finally, it returns the total water trapped.
Last updated