// 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.

public class Solution {
    public int maxArea(int[] height) {
		int len = height.length;

		if(len == 0) return len;

		int max = 0;

		int left = 0;
		int right = len - 1;

		while(left < right){
			int area = height[left] < height[right]? height[left] * (right - left) : height[right] * (right - left);
			max = max > area? max : area;
			if(height[left] < height[right]){
				left++;
			}else{
				right--;
			}
		}

		return max;
    }
}
// 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.

public class Solution {
    public int maxArea(int[] height) {
    	int len = height.length;

    	if(len < 2) return 0;

    	int left = 0;
    	int right = len - 1;
    	int maxArea = 0;

    	while(left < right){
    		int tempArea = Math.min(height[left], height[right]) * (right - left);
    		maxArea = maxArea > tempArea? maxArea : tempArea;
    		if(height[left] > height[right]){
    			right--;
    		}else{
    			left++;
    		}
    	}

    	return maxArea;
    }
}

modify contaner with most water solution