11. 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 the line i is at (i, ai) and (i, 0). Find two lines, which, together with the x-axis forms a container, such that the container contains the most water.

Notice that you may not slant the container.

def maxArea(self, height): 
    res = 0  
    x = len(height) - 1 
    y = 0 
    while x != y: 
        if height[x] > height[y]: 
            area = height[y] * (x - y) 
            y += 1 
        else: 
            area = height[x] * (x - y) 
            x -= 1 
        res = max(res, area) 
    return res