题解:注意理解题意是求最大水容器,所以两条边只能选小的那条作为深度,本题算法是用两指针,要求最大面积只须两指针同时遍历即可完成O(n)复杂度
int maxArea(vector<int>& height) {
int n=height.size();
int ans=0;
int l=0,r=n-1;
while(l<r)
{
ans=max(ans,min(height[l],height[r])*(r-l));
if(height[l]<height[r]) l++;
else r--;
}
return ans;
}