题意:给定一个数组a表示每个位置的高,求出两个边界组成的最大容器 分析:使用双指针方法,area = min(a[left],
a[right])*(right-left);初始时分别指向数字最左和最右,当间隔减少时,要使得area变大则其高度一定要变大,如果移动较高的那一边则其高度绝不会大于原先的高度。
int r = height.size()-1,l=0,ans = 0;
while(l<r){
int area = min(height[r],height[l])*(r-l);
ans = max(ans,area);
if(height[l]<=height[r]) l++;
else r--;
}
return ans;
}