Menu
CoddyTech

Number of Islands

OrtaGraflarpython iconjava iconcpp iconc iconjs icon+10

Eşit uzunlukta dizelerden oluşan bir liste olarak bir harita alırsın; burada '1' bir kara karesini, '0' ise bir su karesini belirtir. İki kara karesi aynı adaya, bir kenarı paylaştıklarında aittir: yukarı, aşağı, sol veya sağ. Yalnızca köşeleri birleşen kareler bağlantılı değildir. Ada sayısını döndür.

Fonksiyon

numIslands(grid: string-array) → integer
gridstring-array
harita, her satırda bir dizge
Döndürürinteger
ada sayısı

Kısıtlar

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • Her satır aynı uzunluktadır.
  • Her karakter '0' veya '1' olur.

Örnekler

Girdi
grid = ["11000", "11000", "00100", "00011"]
Çıktı
3
Açıklama
Sol üstteki dört kare bir ada oluşturur. Üçüncü sıradaki orta kare, onlara yalnızca bir köşesinden dokunduğu için ikinci bir adadır. Sağ alttaki çift ise üçüncü adadır.
challenge icon

Ek soru

Artık kara, su haritasında her seferinde bir kare olarak beliriyor. Tüm haritayı yeniden taramadan, her yeni kareden sonra ada sayısını bildirebilir misin?

Kodu sıfırla
def numIslands(grid):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

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

Beklenen Çıktı

3