Menu
CoddyTech
flag Ar iconالعربيةdown icon

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.

lock icon+13 اختبارات مخفية عند الإرسال

challenge icon

سؤال إضافي

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

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

الحالة 1

الحالة 2

المدخلات

numRows = 5

المتوقع

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