
我们将定义左右两个指针,比如图中,最初是1*8,想要使盛水变大,在改变宽度的情况下,只有让短的柱子进行移动。
java
class Solution {
public int maxArea(int[] height) {
int left=0;
int right=height.length-1;
int max=0;
while(left<right){
int area=Math.min(height[left],height[right])*(right-left);
max=Math.max(area,max);
if(height[left]<height[right]){
left=left+1;
}
else
right=right-1;
}
return max;
}
}