Top 150 des entrevuesFacile

Murs et portes

Guide détaillé et implémentation de Python pour le problème « Murs et portes ».

Énoncé du problème

Facile

Vous obtenez une grille m x n de pièces initialisée avec ces trois valeurs possibles :

- -1 : Un mur ou un obstacle.

- 0 : Une porte.

- INF (représenté par 2147483647) : Une salle vide.

Remplissez chaque pièce vide avec la distance jusqu'à la porte la plus proche. S'il est impossible d'atteindre une porte, celle-ci doit être remplie d'INF.

Écrivez une fonction wallsAndGates(rooms: List[List[int]]) -> List[List[int]] qui renvoie la grille des pièces modifiées.

Contraintes
  • m == len(rooms)
  • n == len(rooms[i])
  • 1 <= m, n <= 250
  • rooms[i][j] is -1, 0, or 2147483647

Exemples

Example 1
Input
rooms = [[2147483647,-1,0,2147483647],[2147483647,2147483647,2147483647,-1],[2147483647,-1,2147483647,-1],[0,-1,2147483647,2147483647]]
Output
[[3,-1,0,1],[2,2,1,-1],[1,-1,2,-1],[0,-1,3,4]]
Explanation

The empty rooms are filled with the shortest distance to their nearest gate.

Need a Hint?
Pensez à utiliser des structures de données spécifiques à Graphs, telles que 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.