Top 150-InterviewEinfach

Mauern und Tore

Detaillierte Anleitung und Python-Implementierung für das Problem „Walls And Gates“.

Problemstellung

Einfach

Sie erhalten ein m x n Rasterräume, die mit diesen drei möglichen Werten initialisiert sind:

- -1: Eine Wand oder ein Hindernis.

- 0: Ein Tor.

- INF (dargestellt durch 2147483647): Ein leerer Raum.

Füllen Sie jeden leeren Raum mit der Entfernung zum nächstgelegenen Tor aus. Wenn ein Tor nicht erreichbar ist, sollte es mit INF gefüllt werden.

Schreiben Sie eine Funktion wallsAndGates(rooms: List[List[int]]) -> List[List[int]], die das geänderte Raumraster zurückgibt.

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

Beispiele

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?
Erwägen Sie die Verwendung von Graphs-spezifischen Datenstrukturen wie Mengen oder Heaps.
Edge Cases to Watch
  • Leere Eingabestrukturen
  • Einzelelementeingaben
  • Große numerische Grenzen

Bereit zur Lösung?

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

Im Editor öffnen
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

Empfohlene Python-Ressourcen

Erweitern Sie Ihr Wissen mit zugehörigen interaktiven Tutorials, Spickzetteln und Codevergleichen.