Sunday, May 18, 2014

Leetcode (Python): 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.

Solution:

class Solution:
    # @return an integer
    def maxArea(self, height):
        maxArea = 0
        start = 0
        end = len(height)-1
        while start < end:
            area = (end-start)* min(height[end],height[start])
            if area > maxArea:
                maxArea = area
            if height[end]<height[start]:
                end-=1
            else:
                start +=1
        return maxArea

No comments :

Post a Comment