Container With Most Water

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.

leetcode link


In [ ]:
def maxArea(self, height):

    j = len(height)-1
    i = 0
    mx = 0

    while (i<j):
        mx = max(mx, (j-i) * min(height[i], height[j]))
        if height[i] < height[j]:
            i += 1               
        else:
            j -= 1

    return mx