Top 150 des entrevuesFacile

Récipient avec le plus d'eau

Guide détaillé et implémentation de Python pour le problème « Conteneur avec le plus d'eau ».

Énoncé du problème

Facile

Vous recevez un tableau d’entiers height de longueur n. Il y a n lignes verticales tracées de telle sorte que les deux extrémités de la ième ligne sont (i, 0) et (i, height[i]).

Trouvez deux lignes qui, avec l'axe des x, forment un récipient, de telle sorte que le récipient contienne le plus d'eau.

Renvoie la quantité maximale d’eau qu’un récipient peut stocker.

Notez que vous ne pouvez pas incliner le conteneur.

Écrivez une fonction maxArea(height: List[int]) -> int.

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

Exemples

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?
Pensez à utiliser des structures de données spécifiques à Two Pointers, comme des ensembles ou des tas.
Edge Cases to Watch
  • Structures d'entrée vides
  • Entrées à élément unique
  • Grandes limites numériques

Prêt à résoudre ?

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

Ouvrir dans l'éditeur
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

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.