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 and n is at least 2.

 

class Solution(object):
    def maxArea(self, height):
        """
        :type height: List[int]
        :rtype: int
        """
        fir = 0
        last = len(height)-1
        max_area = 0
        while fir<last:
            max_area=max(max_area,min(height[fir],height[last])*(last-fir))
            if height[fir]>height[last]:
                last=last-1
            else:
                fir=fir+1
        return max_area

 

posted @ 2017-01-10 11:42  rocksolid  阅读(133)  评论(0编辑  收藏  举报