Wawancara 150 TeratasMudah

Tembok dan Gerbang

Panduan lengkap dan implementasi Python untuk masalah 'Dinding dan Gerbang'.

Pernyataan Masalah

Mudah

Anda diberikan ruang kotak berukuran mxn yang diinisialisasi dengan tiga kemungkinan nilai berikut:

- -1: Tembok atau penghalang.

- 0: Sebuah gerbang.

- INF (diwakili oleh 2147483647): Ruangan kosong.

Isi setiap ruangan kosong dengan jarak ke gerbang terdekat. Jika tidak mungkin mencapai gerbang, maka harus diisi dengan INF.

Tulis fungsi wallsAndGates(rooms: List[List[int]]) -> List[List[int]] yang mengembalikan kisi ruangan yang dimodifikasi.

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

Contoh

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?
Pertimbangkan untuk menggunakan struktur data khusus Grafik seperti kumpulan atau tumpukan.
Edge Cases to Watch
  • Struktur masukan kosong
  • Masukan elemen tunggal
  • Batasan angka yang besar

Siap Memecahkannya?

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

Buka di 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

Sumber Daya Python yang Direkomendasikan

Perluas pengetahuan Anda dengan tutorial interaktif terkait, lembar contekan, dan perbandingan kode.