Top 150-InterviewEinfach

Behälter mit dem meisten Wasser

Detaillierte Anleitung und Python-Implementierung für das Problem „Container With Most Water“.

Problemstellung

Einfach

Sie erhalten ein ganzzahliges Array height mit der Länge n. Es werden n vertikale Linien gezeichnet, sodass die beiden Endpunkte der iten Linie (i, 0) und (i, height[i]) sind.

Finden Sie zwei Linien, die zusammen mit der x-Achse einen Behälter bilden, sodass der Behälter das meiste Wasser enthält.

Geben Sie die maximale Wassermenge zurück, die ein Behälter speichern kann.

Beachten Sie, dass Sie den Behälter nicht neigen dürfen.

Schreiben Sie eine Funktion maxArea(height: List[int]) -> int.

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

Beispiele

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?
Erwägen Sie die Verwendung von Zwei-Zeiger-spezifischen Datenstrukturen wie Mengen oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.