1 package leetcode;
2
3 public class demo_11 {
4 public int maxArea(int[] height) {
5 int left=0;
6 int right=height.length-1;
7 //保存当前最大的面积
8 int max=height[right]<height[left] ? height[right]*(right-left):height[left]*(right-left);
9 int area;
10 while(left<right) {
11 //左指针的高度小于右指针的高度,那么当前就是以左指针高度为边的面积最大
12 if(height[left]<height[right]) {
13 area=height[left]*(right-left);
14 left=left+1;
15 }
16 //右指针的高度小于右指针的高度,那么当前就是以右指针高度为边的面积最大
17 else {
18 area=height[right]*(right-left);
19 right=right-1;
20 }
21 if(max<area) {
22 max=area;
23 }
24 }
25 System.out.println(max);
26 return max;
27 }
28 public static void main(String[] args) {
29 // TODO Auto-generated method stub
30 demo_11 d11=new demo_11();
31 int[] height= {1,8,6,2,5,4,8,3,7};
32 d11.maxArea(height);
33 }
34
35 }