R6-双指针篇
印象题
双指针法,num1在0处,num2在n-1处,相对移动收缩。
核心:
每次单步移动短板,因为长板收缩面积肯定变小。
面积:短板决定
class Solution:
def maxArea(self, height: List[int]) -> int:
n=len(height)
mx=0
num1=0
num2=n-1
while num1<num2:
mx=max(mx,min(height[num1],height[num2])*(num2-num1))
if height[num1]<height[num2]:
num1+=1
else:
num2-=1
return mx