Menu
CoddyTech

Pascal's Triangle

Im Pascalschen Dreieck ist die erste Zeile [1]. Jede spätere Zeile hat einen Eintrag mehr, beginnt und endet mit 1, und jeder Eintrag dazwischen ist die Summe der beiden Einträge direkt darüber. Du erhältst eine Ganzzahl numRows. Gib die ersten numRows Zeilen des Dreiecks zurück, beginnend mit der obersten Zeile, wobei jede Zeile ein Array aus Ganzzahlen ist.

Funktion

generate(numRows: integer) → integer-2d-array
numRowsinteger
wie viele Zeilen des Dreiecks erstellt werden sollen
Gibt zurückinteger-2d-array
die ersten numRows Zeilen, oberste Zeile zuerst

Einschränkungen

  • 1 ≤ numRows ≤ 30
  • Jeder Eintrag der ersten 30 Zeilen passt in eine vorzeichenbehaftete 32-Bit-Ganzzahl. Der größte ist 77558760 und befindet sich in der Mitte von Zeile 30.

Beispiele

Eingabe
numRows = 5
Ausgabe
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Erklärung
Jeder innere Eintrag addiert die beiden Einträge darüber. Zeile vier: 3 = 1 + 2 und 3 = 2 + 1. Zeile fünf: 4 = 1 + 3, 6 = 3 + 3, 4 = 3 + 1.
challenge icon

Weiterführende Frage

Kannst du nur ein Array behalten und es Zeile für Zeile an Ort und Stelle aktualisieren? In welche Richtung muss die innere Schleife laufen und warum?

Code zurücksetzen
def generate(numRows):
    # Schreibe hier den Code

Test #1

Test #2

Argument

numRows = 5

Erwartete Ausgabe

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