思路很简单,就是首先找到最右边和最左边构成一个容器,计算它的容积,然后如果最左边的边比最右边的边短,高度取决于最左边的边,那么最右边的边改变的话只会将宽越变越小,所以只有可能变左边的边,使得高度变高,宽度变窄。反之一样。
class Solution {
public:
int maxArea(vector<int>& height) {
int l=0,r=height.size()-1;
int maxn=0;
while(l<r)
{
maxn=max(maxn,(r-l)*min(height[l],height[r]));
if(height[l]<height[r])
l++;
else
r--;
}
return maxn;
}
};