Wawancara 150 TeratasMudah

Jeruk Membusuk

Panduan lengkap dan implementasi Python untuk masalah 'Jeruk Membusuk'.

Pernyataan Masalah

Mudah

Anda diberikan kotak berukuran mxn di mana setiap sel dapat memiliki salah satu dari tiga nilai:

- 0 mewakili sel kosong,

- 1 melambangkan jeruk segar, atau

- 2 melambangkan jeruk busuk.

Setiap menit, jeruk segar apa pun yang bersebelahan 4 arah dengan jeruk busuk menjadi busuk.

Kembalikan jumlah menit minimum yang harus berlalu hingga tidak ada sel yang memiliki jeruk segar. Jika ini tidak memungkinkan, kembalikan -1.

Tulis fungsi orangesRotting(grid: List[List[int]]) -> int.

Kendala
  • m == len(grid)
  • n == len(grid[i])
  • 1 <= m, n <= 10
  • grid[i][j] is 0, 1, or 2

Contoh

Example 1
Input
grid = [[2,1,1],[1,1,0],[0,1,1]]
Output
4
Explanation

Minute 0: rotten at (0,0). Fresh at (0,1), (0,2), (1,0), (1,1), (2,1), (2,2). Minute 1: fresh at (0,1) and (1,0) rot. Minute 2: fresh at (0,2) and (1,1) rot. Minute 3: fresh at (2,1) rot. Minute 4: fresh at (2,2) rot.

Example 2
Input
grid = [[2,1,1],[0,1,1],[1,0,1]]
Output
-1
Explanation

The orange in the bottom-left corner (row 2, column 0) is never adjacent to a rotten orange, so it stays fresh.

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.