class Solution {
public:
int maxArea(vector<int>& height) {
if(height.size()==2) return min(height[1],height[0]);
int l=0,r=height.size()-1;
int max=min(height[r],height[l])*(r-l);
while(l<r)
{
//根据水桶效应,通过双指针方法改变最短木板(l++或者r--)
if(height[l]<height[r]) l++;
else r--;
//更新max
if(min(height[r],height[l])*(r-l)>max)
{
max=min(height[r],height[l])*(r-l);
}
}
return max;
}
};