左右指针从两侧向中间遍历,每次只移动指向较短的边的指针,因为移动长的面积肯定会比当前面积小
public int maxArea(int[] height) {
int l=0,r=height.length,ans=0;
while (l<r){
ans = height[l]>height[r]? Math.max(ans,(r-l)*height[r--]):Math.max(ans,(r-l)*height[l++]);
}
return ans;
}