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.
class Solution {
public:
int maxArea(vector<int> &height) {
int ans = 0;
int leftPos, rightPos;
leftPos = 0;
rightPos = height.size() - 1;
while(leftPos < rightPos)
{
ans = max(ans, min(height[leftPos], height[rightPos]) * (rightPos - leftPos));
if (height[leftPos] < height[rightPos])
{
leftPos++;
}
else
{
rightPos--;
}
}
return ans;
}
};