题解 | #盛水最多的容器#
盛水最多的容器
https://www.nowcoder.com/practice/3d8d6a8e516e4633a2244d2934e5aa47
#
# 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
#
#
# @param height int整型一维数组
# @return int整型
#
class Solution:
def maxArea(self , height: List[int]) -> int:
if not height:
return 0
left , right = 0 , len(height)-1
left_max , right_max = height[left] , height[right]
ans = min(height[left],height[right])*right
while left < right:
if height[left] < height[right]:
left += 1
if height[left] > left_max:
left_max = height[left]
ans = max(ans,min(height[left],height[right])*(right-left))
else:
right -= 1
if height[right] > right_max:
right_max = height[right]
ans = max(ans,min(height[left],height[right])*(right-left))
return ans
