All problems
MediumArrays

Container With Most Water

amazongooglemetabloombergadobe

You are given an integer array height of length n. There are n vertical lines drawn such that the two endpoints of the ith 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 amount of water a container can store.

Notice that you may not slant the container.

Example 1:

Input: height = [1,8,6,2,5,4,8,3,7]
Output: 49
Explanation: The above 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 49 (between index 1 and 8, min(8,7) * (8-1) = 7 * 7 = 49).

Example 2:

Input: height = [1,1]
Output: 1

Examples

Example 1

Input: height = [1,8,6,2,5,4,8,3,7]

Output: 49

Explanation: Using lines at index 1 (height 8) and index 8 (height 7): area = min(8, 7) * (8 - 1) = 7 * 7 = 49.

Example 2

Input: height = [1,1]

Output: 1

Explanation: Only two lines available. Area = min(1, 1) * (1 - 0) = 1.

Constraints

  • -n == height.length
  • -2 <= n <= 10^5
  • -0 <= height[i] <= 10^4

Optimal Complexity

Time

O(n)

Space

O(1)

One problem, two ways to prep

Choose between solo practice and interview simulation

Practice Mode keeps things simple with code + tests. AI Interview Mode adds voice, pressure, and a post-round score summary.