Le migliori 150 intervisteFacile

Mura e cancelli

Guida dettagliata e implementazione Python per il problema "Muri e cancelli".

Dichiarazione del problema

Facile

Ti viene data una griglia m x n di stanze inizializzata con questi tre possibili valori:

- -1: Un muro o un ostacolo.

- 0: Un cancello.

- INF (rappresentato da 2147483647): Una stanza vuota.

Riempi ogni stanza vuota con la distanza dal cancello più vicino. Se è impossibile raggiungere un cancello, deve essere riempito con INF.

Scrivi una funzione wallsAndGates(rooms: List[List[int]]) -> List[List[int]] che restituisca la griglia delle stanze modificata.

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

Esempi

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?
Prendi in considerazione l'utilizzo di strutture dati specifiche di Graphs come set o heap.
Edge Cases to Watch
  • Strutture di input vuote
  • Ingressi a elemento singolo
  • Grandi limiti numerici

Pronto a risolvere?

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

Apri nell'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

Risorse Python consigliate

Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.