Container With Most Water
Problem
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.
Example
Given [1,3,2]
, the max area of the container is 2
.
Note
You may not slant the container.
Solution
Use 2 pointers from the 2 ends, move them towards the center until they meet. Every time calculate the amount of water and update the max
, then move the short height pointer by 1.