En İyi 150 RöportajKolay

Ada Sayısı

'Ada Sayısı' sorunu için ayrıntılı kılavuz ve Python uygulaması.

Sorun Bildirimi

Kolay

'1'lerin (kara) ve '0'ların (su) haritasını temsil eden bir m x n 2 boyutlu ikili ızgara ızgarası verildiğinde, adaların sayısını döndürün.

Ada sularla çevrilidir ve bitişik karaların yatay veya dikey olarak bağlanmasıyla oluşur. Izgaranın dört kenarının da suyla çevrili olduğunu varsayabilirsiniz.

numIslands(grid: List[List[str]]) -> int adlı bir işlev yazın.

Kısıtlamalar
  • m == len(grid)
  • n == len(grid[i])
  • 1 <= m, n <= 300
  • grid[i][j] is '0' or '1'

Örnekler

Example 1
Input
grid = [["1","1","1","1","0"],["1","1","0","1","0"],["1","1","0","0","0"],["0","0","0","0","0"]]
Output
1
Explanation

There is a single island consisting of all connected '1's starting from top-left.

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

There are three distinct islands separated by '0's.

Need a Hint?
Kümeler veya yığınlar gibi Graphs'a özgü veri yapılarını kullanmayı düşünün.
Edge Cases to Watch
  • Boş giriş yapıları
  • Tek eleman girişleri
  • Büyük sayısal sınırlar

Çözmeye Hazır mısınız?

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

Editörde Aç
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

Önerilen Python Kaynakları

İlgili etkileşimli eğitimler, yardımcı sayfalar ve kod karşılaştırmalarıyla bilginizi genişletin.