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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
publicclassContainerWithMostWater{ publicintmaxArea(int[] height){ if (height == null || height.length < 2) { return0; } int left = 0; int right = height.length - 1; int max = 0; while (left < right) { max = Math.max(max, (right - left) * Math.min(height[right], height[left])); if (height[left] > height[right]) { right--; } else { left++; } } return max; } }