Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) 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 and n is at least 2.
1 public class Solution { 2 public int maxArea(int[] height) { 3 int left = 0, right = height.length - 1; 4 int maxArea = 0; 5 6 while (left < right) { 7 if (height[left] < height[right]) { 8 maxArea = Math.max( height[left] * (right - left), maxArea ); 9 left++; 10 } else { 11 maxArea = Math.max( height[right] * (right - left), maxArea ); 12 right--; 13 } 14 } 15 16 return maxArea; 17 } 18 }