Problema
Ver original (inglés)La primera fila es [1]. Cada fila posterior comienza y termina con 1. Cada elemento interior es la suma de los dos elementos situados inmediatamente encima. Devuelve las primeras rows filas, comenzando con el único 1.
Implementa pascals_triangle(rows).
Entrada
rows: Cuántas filas generar.
Salida
Devuelve una lista de filas, comenzando desde la parte superior; cada fila es una lista de enteros.
Restricciones
0 ≤ rows ≤ 60. Cada elemento cabe en un entero con signo de 64 bits. Si rows es cero, devuelve una lista vacía.
Ejemplos
Entrada:
rows = 4
Salida esperada:
expected = [
[1],
[1, 1],
[1, 2, 1],
[1, 3, 3, 1]
]
Entrada:
long long rows = 4;
Salida esperada:
std::vector<std::vector<long long>> expected = {
{1},
{1, 1},
{1, 2, 1},
{1, 3, 3, 1}
};
Entrada:
long rows = 4;
Salida esperada:
long[][] expected = new long[][] {
new long[] {1},
new long[] {1, 1},
new long[] {1, 2, 1},
new long[] {1, 3, 3, 1}
};
Explicación
El 2 en la fila 3 es 1 + 1. Los dos 3 interiores en la fila 4 son 1 + 2 y 2 + 1.
Entrada:
rows = 0
Salida esperada:
expected = []
Entrada:
long long rows = 0;
Salida esperada:
std::vector<std::vector<long long>> expected = {};
Entrada:
long rows = 0;
Salida esperada:
long[][] expected = new long[][] {};
Explicación
No se solicita ninguna fila, así que devuelve una lista vacía.
Referencias
Este reto está adaptado para CodeUtility. Sigue el enunciado y las restricciones indicadas arriba.