Menu
CoddyTech

Pascal's Triangle

في مثلث باسكال، الصف الأول هو [1]. يتكون كل صف لاحق من عنصر إضافي، ويبدأ وينتهي بالعدد 1، وكل عنصر بينهما هو مجموع العنصرين الواقعين فوقه مباشرةً. تحصل على عدد صحيح numRows. أعد أول numRows صفوف من المثلث، بدءًا من الصف العلوي، بحيث يكون كل صف مصفوفة من الأعداد الصحيحة.

الدالة

generate(numRows: integer) → integer-2d-array
numRowsinteger
كم عدد صفوف المثلث المطلوب بناؤها
تُرجعinteger-2d-array
أول numRows من الصفوف، بدءًا بالصف العلوي

القيود

  • 1 ≤ numRows ≤ 30
  • كل قيمة في الصفوف الثلاثين الأولى تتسع في عدد صحيح موقّع من 32 بت. أكبرها هو 77558760، في منتصف الصف 30.

أمثلة

المدخلات
numRows = 5
المخرجات
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
الشرح
كل عنصر داخلي يجمع العددين اللذين فوقه. الصف الرابع: 3 = 1 + 2 و3 = 2 + 1. الصف الخامس: 4 = 1 + 3، 6 = 3 + 3، 4 = 3 + 1.
challenge icon

سؤال إضافي

هل يمكنك الاحتفاظ بمصفوفة واحدة فقط وتحديثها في مكانها، صفًا بعد صف؟ في أي اتجاه يجب أن تعمل الحلقة الداخلية، ولماذا؟

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

اختبار #1

اختبار #2

وسيط

numRows = 5

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

[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]