Container With Most Water

Given n non-negative integers a1a2, ..., an, where each represents a point at coordinate (iai). n vertical lines are drawn such that the two endpoints of line i is at (iai) 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 i = 0;
        int j = height.length-1;
        int max = 0;
        while (i < j) {
        	max = Math.max(Math.min(height[i], height[j])*(j-i), max);
        	if (height[i] < height[j]) {
        		i++;
        	} else {
        		j--;
        	}
        }
        return max;
    }
}

 

你可能感兴趣的:(contain)