一、题目
二、代码
class Solution
{
//
// 核心 : 左边较高 和 右边较高 取小
public int trap(int[] height)
{
int i,j;
int length = height.length;
int return_sum = 0;
int[] left_height = new int[length];
int[] right_height = new int[length];
left_height[0] = height[0];
right_height[length-1] = height[length-1];
for(i=1;i<length;i++)
{
left_height[i] = Math.max(left_height[i-1],height[i]);
}
for(i=length-2;i>=0;i--)
{
right_height[i] = Math.max(right_height[i+1],height[i]);
}
for(i=0;i<length;i++)
{
return_sum = return_sum+Math.min(left_height[i],right_height[i])-height[i];
}
return return_sum;
}
}