Leetcode - 42. Trapping Rain Water
/** * @param {number[]} height * @return {number} */ var trap = function (height) { let l = 0; let r = height.length - 1; let maxLeft = height[l]; let maxRight = height[r]; let rainWater = 0; while (l

/**
* @param {number[]} height
* @return {number}
*/
var trap = function (height) {
let l = 0;
let r = height.length - 1;
let maxLeft = height[l];
let maxRight = height[r];
let rainWater = 0;
while (l < r) {
if (maxLeft <= maxRight) {
l++;
maxLeft = Math.max(maxLeft, height[l]);
rainWater += maxLeft - height[l];
} else {
r--;
maxRight = Math.max(maxRight, height[r]);
rainWater += maxRight - height[r];
}
}
return rainWater
};