Solve in Python:
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.
class Solution:
     def maxArea(self, height):
         """
         :type height: List[int]
         :rtype: int
         """
         left_index = 0
         right_index = len(height) - 1
         water = 0
         while True:
             if left_index >= right_index:
                 break
             left_height = height[left_index]
             right_height = height[right_index]
             water = max(water, (right_index - left_index) * min(left_height, right_height))
             if left_height < right_height:
                 left_index += 1
             else:
                 right_index -= 1
         return water