1.代码
class Solution:
def maxArea(self, height: List[int]) -> int:
num = len(height)
maxn = (num-1)*min(height[0],height[num-1])
left = 0
right = num-1
while(left < right):
if(height[left] < height[right]):
left = left+1
else:
right = right-1
size = (right-left)*min(height[left],height[right])
if(size>maxn): maxn = size
return maxn
2.思路
定义了left和right分别指向数组的左端和右端,每一次移动height较小的一端,可以覆盖盛水最多的情况,每次更新left或right位置后计算盛水量。