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.
Example:
Input: [1,8,6,2,5,4,8,3,7] Output: 49
class Solution(object): def maxArea(self, height): """ :type height: List[int] :rtype: int """ left = 0 right = len(height) - 1 ans = 0 while left < right: tmp = min(height[left], height[right]) * (right - left) if tmp > ans: ans = tmp if height[left] > height[right]: right -= 1 else: left += 1 return ans