本人想法, 当然是暴力啦,超时警告:
class Solution:
def maxArea(self, height: List[int]) -> int:
max=0
for i in range(len(height)):
for j in range(len(height)):
t=min(height[j],height[i])*abs(i-j)
if t>max:
max=t
return max
左右指针
class Solution:
def maxArea(self, height: List[int]) -> int:
i, j, res = 0, len(height) - 1, 0
while i < j:
if height[i] < height[j]:
res = max(res, height[i] * (j - i))#更新完立即算面积
i += 1
else:
res = max(res, height[j] * (j - i))
j -= 1
return res
# l,r=0,len(height)-1
# res=0
# while l<r:
# if height[l]<height[l+1]:
# r-=1
# else:
# l+=1
# area=min(height[l],height[r])*abs(l-r)
# res=area if area>res else res
# return res