https://leetcode.com/problems/container-with-most-water/
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). n vertical lines are drawn such that the two endpoints of line i is at (i, ai) and (i, 0). Find two lines, which together with x-axis forms a container, such that the container contains the most water.
Note: You may not slant the container.
双指针
分别从两端开始移动,计算最大值。然后根据瓶颈是左端或者右端移动相应指针。
int maxArea(vector<int>& height)
{
int l=0,r=height.size()-1,res = 0;
while (l<r)
{
res = max(res, min(height[l], height[r])*(r - l));
if (height[l]>height[r])
r--;
else
l++;
}
return res;
}
参考 http://blog.csdn.net/linhuanmars/article/details/21145429