/**
*类描述:
*@author: 刘夏楠
*@date: 日期:2014-4-3 时间:上午09:12:00
*@version 1.0
*/
public class Test {
public static void main(String[] args) {
int[] arr={0,1,0,2,1,0,1,3,2,1,2,1};
System.out.println(getWater(arr));
}
public static int getWater(int[] arr)
{
int water=0;
for(int i=0;i<arr.length;i++)
{
//找出i位左边的最大值
int leftmax=0;
for(int j=0;j<i;j++)
if (arr[j]>leftmax)leftmax=arr[j];
if (leftmax<=arr[i]) {
continue;
}
//找出i位右边的最大值
int rightmax=0;
for (int k = i+1; k < arr.length; k++)
if(arr[k]>rightmax)rightmax=arr[k];
if (rightmax<=arr[i]) {
continue;
}
//求出最低
int h=(leftmax>rightmax)?rightmax:leftmax;
water+=h-arr[i];
//System.out.println(h-arr[i]);
}
return water;
}
}