Menu
CoddyTech

Pascal's Triangle

Dalam segitiga Pascal, baris pertama adalah [1]. Setiap baris berikutnya memiliki satu elemen lebih banyak, dimulai dan diakhiri dengan 1, dan setiap elemen di antaranya adalah jumlah dari dua elemen yang tepat berada di atasnya. Kamu mendapatkan bilangan bulat numRows. Kembalikan numRows baris pertama segitiga tersebut, dimulai dari baris paling atas, dengan setiap baris berupa array bilangan bulat.

Fungsi

generate(numRows: integer) → integer-2d-array
numRowsinteger
berapa banyak baris segitiga yang akan dibuat
Mengembalikaninteger-2d-array
numRows baris pertama, baris teratas terlebih dahulu

Batasan

  • 1 ≤ numRows ≤ 30
  • Setiap entri dari 30 baris pertama muat dalam integer bertanda 32-bit. Nilai terbesar adalah 77558760, di tengah baris ke-30.

Contoh

Input
numRows = 5
Output
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Penjelasan
Setiap entri di bagian dalam menjumlahkan dua entri di atasnya. Baris keempat: 3 = 1 + 2 dan 3 = 2 + 1. Baris kelima: 4 = 1 + 3, 6 = 3 + 3, 4 = 3 + 1.
challenge icon

Pertanyaan lanjutan

Bisakah kamu menyisakan hanya satu array dan memperbaruinya secara langsung, baris demi baris? Ke arah mana perulangan bagian dalam harus berjalan, dan mengapa?

Reset kode
def generate(numRows):
    # Tulis kodemu di sini

Tes #1

Tes #2

Argumen

numRows = 5

Output yang diharapkan

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