题目
思路
- 双指针即可。
代码
public int maxArea(int[] height) {
//左右指针
int left=0;
int right=height.length-1;
//返回的ans
int ans=0;
while (left!=right){
//计算此时左右指针构成的最大水量
int tall = Math.min(height[left],height[right]);
ans = Math.max(tall * (right-left),ans);
if(height[left]<height[right]) left++;
else right--;
}
return ans;
}