使用双指针,一个指向数组的头,一个指向尾,指针对应的数值小的向内移动,才能构成最大的面积。
class Solution {
public int maxArea(int[] height) {
int n=height.length;
int l=0;
int r=n-1;
int max=0;
while(l<r){
max=Math.max((r-l)*Math.min(height[l],height[r]),max);
if(height[l]<=height[r])
l++;
else
r--;
}
return max;
}
}