LeetCode 11 - 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 int maxArea(int[] height) {
    int l=0, r=height.length-1;
    int max = 0;
    while(l<r) {
        int area = Math.min(height[l], height[r])*(r-l);
        max = Math.max(max, area);
        if(height[l] >= height[r]) {
            r--;
        } else {
            l++;
        }
    }
    return max;
}

 

你可能感兴趣的:(LeetCode 11 - Container With Most Water)