Menu
CoddyTech

Number of Islands

تحصل على خريطة على شكل قائمة من السلاسل النصية المتساوية في الطول، حيث يمثّل '1' مربعًا من اليابسة ويمثّل '0' مربعًا من الماء. ينتمي مربعا يابسة إلى الجزيرة نفسها عندما يتشاركان ضلعًا: من الأعلى أو الأسفل أو اليسار أو اليمين. المربعات التي لا تلتقي إلا عند زاوية غير متصلة. أعد عدد الجزر.

الدالة

numIslands(grid: string-array) → integer
gridstring-array
الخريطة، سلسلة واحدة لكل صف
تُرجعinteger
عدد الجزر

القيود

  • 1 ≤ grid.length ≤ 150
  • 1 ≤ grid[i].length ≤ 150
  • كل صف له الطول نفسه.
  • كل محرف هو '0' أو '1'.

أمثلة

المدخلات
grid = ["11000", "11000", "00100", "00011"]
المخرجات
3
الشرح
المربعات الأربعة في أعلى اليسار تشكّل جزيرة واحدة. المربع الأوسط في الصف الثالث يلامسها عند زاوية فقط، لذا فهو جزيرة ثانية. والزوج في أسفل اليمين هو الجزيرة الثالثة.
challenge icon

سؤال إضافي

تظهر اليابسة الآن مربعًا واحدًا في كل مرة على خريطة مائية. هل يمكنك الإبلاغ عن عدد الجزر بعد كل مربع جديد دون مسح الخريطة بأكملها مرة أخرى؟

إعادة ضبط الشيفرة
def numIslands(grid):
    # اكتب الكود هنا

اختبار #1

اختبار #2

وسيط

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

الإخراج المتوقع

3