Given $n$ non-negative integers $a_1, a_2, …, a_n$, where each represents a point at coordinate $(i, a_i)$. $n$ vertical lines are drawn such that the two endpoints of line $i$ is at $(i, a_i)$ and $(i, 0)$. Find two lines, which together with $x$-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
Solution:
public class Solution {
public int maxArea(int[] height) {
int maxArea=0, l=0, r=height.length-1;
while(l<r){
maxArea = Math.max(maxArea, (r-l)*Math.min(height[l],height[r]));
if(height[l]<height[r]){
int cur = height[l];
while(height[++l]<cur);
} else {
int cur = height[r];
while(height[--r]<cur);
}
}
return maxArea;
}
}