Menu
CoddyTech

Pascal's Triangle

Pascal üçgeninde ilk satır [1]'dir. Sonraki her satır bir eleman daha uzundur, 1 ile başlar ve biter; aradaki her eleman ise doğrudan üstündeki iki elemanın toplamıdır. Bir tamsayı olan numRows verilir. Üçgenin ilk numRows satırını, en üstteki satır ilk sırada olacak şekilde ve her satır bir tamsayı dizisi olarak döndür.

Fonksiyon

generate(numRows: integer) → integer-2d-array
numRowsinteger
üçgenin kaç satırını oluşturmak gerektiği
Döndürürinteger-2d-array
ilk numRows satır, önce en üstteki satır

Kısıtlar

  • 1 ≤ numRows ≤ 30
  • İlk 30 satırın her birindeki tüm değerler 32 bitlik işaretli bir tam sayıya sığar. En büyüğü, 30. satırın ortasındaki 77558760 değeridir.

Örnekler

Girdi
numRows = 5
Çıktı
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Açıklama
Her iç giriş, üzerindeki iki girişi toplar. Dördüncü satır: 3 = 1 + 2 ve 3 = 2 + 1. Beşinci satır: 4 = 1 + 3, 6 = 3 + 3, 4 = 3 + 1.
challenge icon

Ek soru

Yalnızca bir dizi tutup onu satır satır yerinde güncelleyebilir misin? İç döngü hangi yönde ilerlemeli ve neden?

Kodu sıfırla
def generate(numRows):
    # Kodu buraya yazın

Test #1

Test #2

Argüman

numRows = 5

Beklenen Çıktı

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