Back to Practice Dashboard
Top 150 InterviewEasy

Container With Most Water

Learn how to solve the 'Container With Most Water' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

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.

Write a function maxArea(height: List[int]) -> int.

Constraints
  • n == len(height)
  • 2 <= n <= 10^5
  • 0 <= height[i] <= 10^4

Examples

Example 1
Input
height = [1, 8, 6, 2, 5, 4, 8, 3, 7]
Output
49
Explanation

The max area is between 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

Area = min(1, 1) * (1 - 0) = 1.

Need a Hint?
Use two pointer variables starting at different bounds (e.g. left = 0, right = length - 1) and shrink the search window.
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor