### 解题思路
在看题的第一刻,想到的是利用for双循环进行遍历数组,进行双循环遍历,进行判断,每次循环的时候算出可以装的最大的容量,不过利用双循环的话,可以求出来,不过在提交的时候显示超出时间限制。
双循环的代码如下:
int max = 0;
for (int i = 0;i<height.length - 1;i++){
for (int j = i + 1;j < height.length;j++){
int pre = j - i;
int num = Math.min(height[i],height[j]);
max = Math.max(max,num*pre);
}
再看了一下标签,有个双指针,所以再双指针这个解题思路想了一下,在每次循环的时候,最小的数的下标进行加一或者减一,留最大的那个数,换最小的数。
### 代码
```java
class Solution {
public int maxArea(int[] height) {
int max = 0;
int l = 0,r = height.length-1;
while (l<r){
int pre = r - l;
int min = Math.min(height[r],height[l]);
max = Math.max(max,pre * min);
if (min == height[r]){
r--;
}else{
l++;
}
}
return max;
}
}
```