Top 150 des entrevuesFacile

Piéger l’eau de pluie

Guide détaillé et implémentation de Python pour le problème « Piègement de l'eau de pluie ».

Énoncé du problème

Facile

Étant donné n nombres entiers non négatifs représentant une carte d'élévation où la largeur de chaque barre est de 1, calculez la quantité d'eau qu'elle peut piéger après la pluie.

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

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

Exemples

Example 1
Input
height = [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1]
Output
6
Explanation

The elevation map traps 6 units of rain water. Water fills between the bars: 1 unit above index 2, 1 unit above index 4, 2 units above index 5, 1 unit above index 6, and 1 unit above index 9.

Example 2
Input
height = [4, 2, 0, 3, 2, 5]
Output
9
Explanation

Water trapped: 2 above index 1, 4 above index 2, 1 above index 3, 2 above index 4 = 9 total.

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.