150 najlepszych wywiadówŁatwe

Ściany I Bramy

Szczegółowy przewodnik i implementacja Python dla problemu „Ściany i bramy”.

Oświadczenie o problemie

Łatwe

Otrzymasz m x n pomieszczeń siatki zainicjowanych trzema możliwymi wartościami:

- -1: Ściana lub przeszkoda.

- 0: Brama.

- INF (reprezentowany przez 2147483647): Pusty pokój.

Wypełnij każdy pusty pokój odległością do najbliższej bramy. Jeśli dotarcie do bramy jest niemożliwe, należy ją wypełnić INF.

Napisz funkcję wallsAndGates(rooms: List[List[int]]) -> List[List[int]], która zwraca zmodyfikowaną siatkę pomieszczeń.

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

Przykłady

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?
Rozważ użycie struktur danych specyficznych dla wykresów, takich jak zestawy lub sterty.
Edge Cases to Watch
  • Puste struktury wejściowe
  • Wejścia jednoelementowe
  • Duże granice liczbowe

Gotowy do rozwiązania?

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

Otwórz w Edytorze
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

Polecane zasoby Pythona

Poszerzaj swoją wiedzę dzięki powiązanym interaktywnym samouczkom, ściągawkom i porównaniom kodów.