任务描述
思路
- 默认Marea为列头及列尾组成的矩形,使用双指针,每次短的指针向长的移动,记录当前area并与之前的Marea作比较,更新Marea
实现代码
class Solution:
def maxArea(self, height: List[int]) -> int:
i,j = 0,len(height)-1
h = height[i] if height[i]<=height[j] else height[j]
Marea = h*(j-i)
while i<j:
if height[i]<height[j]:
i += 1
else:
j -= 1
h1 = h = height[i] if height[i]<=height[j] else height[j]
area = h1*(j-i)
if area>Marea:
Marea = area
return Marea