image.png

双指针

image.png

  1. public int maxArea(int[] height) {
  2. int maxArea=0,l=0,r=height.length-1;
  3. while(l<r){
  4. //当前面积为高度最小值乘以长度 更新最大面积
  5. maxArea=Math.max(maxArea,(r-l)*Math.min(height[r],height[l]));
  6. if(height[l]<height[r]) //更新较小的一边
  7. l++;
  8. else
  9. r--;
  10. }
  11. return maxArea;
  12. }