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 is able to trap after
raining.