Problems/11. Container With Most Water

11. Container With Most Water

MediumArrayTwo PointersGreedy

You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the i-th line are (i, 0) and (i, height[i]).

Find two lines that together with the x-axis form a container, such that the container contains the most water.

Return the maximum volume of water the container can hold. Note that you may not slant the container.

Example 1
Input: height = [1, 8, 6, 2, 5, 4, 8, 3, 7]
Output: 49
The vertical lines are represented by array [1,8,6,2,5,4,8,3,7]. In this case, the max area of water the container can contain is min(8, 7) * (8 - 1) = 49.
Example 2
Input: height = [1, 1]
Output: 1
The two lines at index 0 and 1 have height 1, forming a container of area min(1, 1) * 1 = 1.
Visualizer

Visualizer will appear here