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)

Practice this problem with an AI interviewer

TechInView conducts a full voice mock interview — the AI asks clarifying questions, evaluates your approach, watches you code, and scores you on 5 dimensions. Just like a real FAANG interview.

Start a free interview