42. Trapping Rain Water
Problem:
Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it is able to trap after raining.
For example,
Given
Given
[0,1,0,2,1,0,1,3,2,1,2,1], return 6.
Analysis:
https://leetcode.com/problems/trapping-rain-water/solution/
Solution:
class Solution { public int trap(int[] height) { int left = 0; int right = height.length - 1; int leftMax = 0; int rightMax = 0; int res = 0; while (left < right) { if (height[left] < height[right]) { leftMax = Math.max(leftMax, height[left]); res+= leftMax - height[left]; left++; } else { rightMax = Math.max(rightMax, height[right]); res+= rightMax - height[right]; right--; } } return res; } }
评论
发表评论