Entrevista a los 150 mejoresfácil

Muros y puertas

Guía detallada e implementación de Python para el problema 'Muros y puertas'.

Declaración del problema

fácil

Se le proporcionan una cuadrícula de mx n habitaciones inicializadas con estos tres valores posibles:

- -1: Una pared o un obstáculo.

- 0: Una puerta.

- INF (representado por 2147483647): Una habitación vacía.

Llena cada habitación vacía con la distancia hasta su puerta más cercana. Si es imposible llegar a una puerta, se debe llenar con INF.

Escribe una función wallsAndGates(rooms: List[List[int]]) -> List[List[int]] que devuelva la grilla de habitaciones modificadas.

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

Ejemplos

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?
Considere la posibilidad de utilizar estructuras de datos específicas de Graphs, como conjuntos o montones.
Edge Cases to Watch
  • Estructuras de entrada vacías
  • Entradas de un solo elemento
  • Grandes límites numéricos

¿Listo para resolver?

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

Abrir en el editor
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

Recursos recomendados de Python

Amplíe sus conocimientos con tutoriales interactivos relacionados, hojas de trucos y comparaciones de códigos.