42. [H] Trapping Rain Water
https://leetcode.com/problems/trapping-rain-water/
扫描法
// 1ms
class Solution {
public int trap(int[] height) {
int capacity = 0;
for (int i = 0, j = 0; i < height.length; i++) {
if (height[i] >= height[j]) {
for (int k = j; k < i; k++) {
capacity += height[j] - height[k];
}
j = i;
}
}
for (int i = height.length-1, j = height.length-1; i >= 0; i--) {
if (height[i] > height[j]) {
for (int k = j; k > i; k--) {
capacity += height[j] - height[k];
}
j = i;
}
}
return capacity;
}
}两侧夹逼法
最后更新于