Menu
CoddyTech

Number of Islands

SedangGrafpython iconjava iconcpp iconc iconjs icon+10

Kamu mendapatkan peta berupa list string yang panjangnya sama, dengan '1' sebagai kotak daratan dan '0' sebagai kotak air. Dua kotak daratan termasuk pulau yang sama jika berbagi sisi: atas, bawah, kiri, atau kanan. Kotak yang hanya bertemu di sudut tidak terhubung. Kembalikan jumlah pulau.

Fungsi

numIslands(grid: string-array) → integer
gridstring-array
peta, satu string per baris
Mengembalikaninteger
jumlah pulau

Batasan

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • Setiap baris memiliki panjang yang sama.
  • Setiap karakter adalah '0' atau '1'.

Contoh

Input
grid = ["11000", "11000", "00100", "00011"]
Output
3
Penjelasan
Empat kotak di kiri atas membentuk satu pulau. Kotak tengah pada baris ketiga hanya bersentuhan dengan kotak-kotak itu di sudut, jadi itu adalah pulau kedua. Sepasang kotak di kanan bawah adalah pulau ketiga.
challenge icon

Pertanyaan lanjutan

Tanah kini muncul satu petak setiap kali di peta perairan. Bisakah kamu melaporkan jumlah pulau setelah setiap petak baru muncul tanpa memindai seluruh peta lagi?

Reset kode
def numIslands(grid):
    # Tulis kodemu di sini

Tes #1

Tes #2

Argumen

grid = ["11000", "11000", "00100", "00011"]

Output yang diharapkan

3