题目:
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.
链接:https://oj.leetcode.com/problems/container-with-most-water/
描述:以横坐标和(i,ai)构成的挡板中找出能最多盛多少水
解法:两边往中间夹,盛水多少由较低的挡板决定,计算完面积后移动之
solution by python:
class Solution:
# @return an integer
def maxArea(self, height):
low=0;high=len(height)-1
ans=0
while low < high:
area = min(height[low], height[high])*(high-low)
if area > ans: ans = area
if height[low] >= height[high]: high -= 1
else: low += 1
return ans