Menu
CoddyTech

Pascal's Triangle

En el triángulo de Pascal, la primera fila es [1]. Cada fila posterior tiene una entrada más, empieza y termina con 1, y cada entrada intermedia es la suma de las dos entradas que tiene justo encima. Recibes un entero numRows. Devuelve las primeras numRows filas del triángulo, empezando por la fila superior, y cada fila como un arreglo de enteros.

Función

generate(numRows: integer) → integer-2d-array
numRowsinteger
cuántas filas del triángulo construir
Devuelveinteger-2d-array
las primeras filas de numRows, empezando por la fila superior

Restricciones

  • 1 ≤ numRows ≤ 30
  • Cada entrada de las primeras 30 filas cabe en un entero con signo de 32 bits. La más grande es 77558760, en el centro de la fila 30.

Ejemplos

Entrada
numRows = 5
Salida
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
Explicación
Cada entrada interna suma las dos que están encima. Fila cuatro: 3 = 1 + 2 y 3 = 2 + 1. Fila cinco: 4 = 1 + 3, 6 = 3 + 3, 4 = 3 + 1.
challenge icon

Para ir más allá

¿Puedes conservar un solo arreglo y actualizarlo en el lugar, fila tras fila? ¿En qué sentido debe ejecutarse el bucle interno y por qué?

Restablecer código
def generate(numRows):
    # Escribe el código aquí

Prueba #1

Prueba #2

Argumento

numRows = 5

Salida Esperada

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