FrontendInterviews.dev

Loading problem…

293. Container With Most Water

Medium•
Acceptance: 87.50%
•
🔓3/3 Pro unlocks today

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.

Note: You may not slant the container.

This is a classic two-pointer problem. The area between two lines is determined by the shorter line and the distance between them.

Requirements

1. Basic Functionality

  • Find the maximum area formed by any two lines
  • Area = min(height[left], height[right]) × (right - left)

Example Usage

maxArea([1,8,6,2,5,4,8,3,7]);  // 49
maxArea([1,1]);                 // 1

Real-World Context

  • Water storage: Calculating maximum reservoir capacity between walls
  • Layout optimization: Maximizing usable space between constraints
  • Signal processing: Finding optimal bandwidth between frequency bounds

Constraints

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