16. Container With Most Water
mediumAsked at MercadoLibreFind two lines that together with the x-axis form the largest area container.
By Alex Chen, Founder, InterviewChamp.AI · Last verified
Problem
Given n non-negative integers a1..an, where each represents a vertical line at coordinate i with height ai, find two lines that, together with the x-axis, hold the most water. Return the maximum amount of water that can be held.
Constraints
n == height.length2 <= n <= 10^50 <= height[i] <= 10^4
Examples
Example 1
height = [1,8,6,2,5,4,8,3,7]49Example 2
height = [1,1]1Approaches
1. Brute force
Check every pair of lines and compute area.
- Time
- O(n^2)
- Space
- O(1)
let best = 0;
for (let i = 0; i < height.length; i++)
for (let j = i+1; j < height.length; j++)
best = Math.max(best, (j - i) * Math.min(height[i], height[j]));
return best;Tradeoff:
2. Two-pointer shrink
Start at both ends; always move the shorter side inward because its height caps the area.
- Time
- O(n)
- Space
- O(1)
function maxArea(height) {
let l = 0, r = height.length - 1, best = 0;
while (l < r) {
const h = Math.min(height[l], height[r]);
best = Math.max(best, (r - l) * h);
if (height[l] < height[r]) l++; else r--;
}
return best;
}Tradeoff:
MercadoLibre-specific tips
MercadoLibre routing engineers use this to gauge two-pointer instinct — useful when squeezing courier capacity envelopes across last-mile lanes in São Paulo and Buenos Aires.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.
Practice these live with InterviewChamp.AI
Drill Container With Most Water and other MercadoLibre interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →