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
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.
- •n == len(height)
- •2 <= n <= 10^5
- •0 <= height[i] <= 10^4
Examples
height = [1, 8, 6, 2, 5, 4, 8, 3, 7]
49
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.
height = [1, 1]
1
Area = min(1, 1) * (1 - 0) = 1.
Need a Hint?
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.