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 ganze Zahl numRows. Gib die ersten numRows Zeilen des Dreiecks zurück, beginnend mit der obersten Zeile, wobei jede Zeile ein Array aus ganzen Zahlen ist.

Funktion

generate(numRows: integer) → integer-2d-array
numRowsinteger
wie viele Zeilen des Dreiecks aufgebaut 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 darüber. In der vierten Zeile gilt: 3 = 1 + 2 und 3 = 2 + 1. In der fünften Zeile gilt: 4 = 1 + 3, 6 = 3 + 3 und 4 = 3 + 1.

lock icon+13 versteckte Tests beim Einreichen

challenge icon

Weiterführende Frage

Kannst du nur die letzte Zeile in einem einzelnen Array erstellen und sie Zeile für Zeile direkt aktualisieren, anstatt die darüberliegenden Zeilen beizubehalten? In welche Richtung muss die innere Schleife laufen, und warum?

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

Fall 1

Fall 2

Eingabe

numRows = 5

Erwartet

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