Brute force: scan both sides for every bar
Time O(n²) Space O(1)For each bar, find the tallest bar to its left and to its right, then add min(left, right) − height.
class Solution {
public int trap(int[] height) {
int water = 0;
for (int i = 0; i < height.length; i++) {
int left = 0, right = 0;
for (int j = 0; j <= i; j++) left = Math.max(left, height[j]);
for (int j = i; j < height.length; j++) right = Math.max(right, height[j]);
water += Math.min(left, right) - height[i];
}
return water;
}
}Verdict: 4 × 10⁸ steps at the limit: too slow. Repeated work: re-finding the same maxima.