#!/usr/bin/env python
# -*- coding:utf-8 -*-
#@Time  : 2020/3/8 下午6:30
#@File  : max_water_container.py
"""
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: list[int]):
        n = len(height)
        if n<2:
            return None
        left = 0
        right = n-1
        max_area = 0
        while(left < right):
            max_area = max(max_area,(right-left)*min(height[left],height[right]))
            if height[left] > height[right]:
                right -= 1
            else:
                left += 1
        return max_area