import java.util.*;
public class Solution {
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param height int整型一维数组
* @return int整型
*/
public int maxArea (int[] height) {
// write code here
if(height == null){
return 0;
}
int n = height.length;
if(n < 2){
return 0;
}
//维护一个最大容积窗口
int left = 0;
int right = n - 1;
int result = 0;
while(left < right){
//计算水容量
int cap = Math.min(height[left], height[right]) * (right - left);
//维护最大值
result = Math.max(result, cap);
//假如height[left]比右边窗口height[right]小,那么接下来的最大值是不是在left+1,right区间内
//水桶能装的水,肯定以短边为准,即使高的边减1,水桶容量还是以短边为准
if(height[left] < height[right]){
left ++;
}else{
right --;
}
}
return result;
}
}