Tutte le sfide
Facile 0 risolte 0% di accettazione

Triangolo di Pascal

Costruisci le righe sommando le voci adiacenti della riga precedente.

La prima riga è [1]. Ogni riga successiva inizia e termina con 1. Ogni elemento interno è la somma dei due elementi immediatamente sopra di esso. Restituisci le prime rows righe, iniziando dal singolo 1.

Implementa pascals_triangle(rows).

Input

rows: Quante righe generare.

Output

Restituisci una lista di righe, partendo dall'alto; ogni riga è una lista di interi.

Vincoli

0 ≤ rows ≤ 60. Ogni elemento rientra in un intero con segno a 64 bit. Zero righe restituisce una lista vuota.

Esempi

Esempio 1
Input:
rows = 4

Output atteso:
expected = [
    [1],
    [1, 1],
    [1, 2, 1],
    [1, 3, 3, 1]
]
Input:
long long rows = 4;

Output atteso:
std::vector<std::vector<long long>> expected = {
    {1},
    {1, 1},
    {1, 2, 1},
    {1, 3, 3, 1}
};
Input:
long rows = 4;

Output atteso:
long[][] expected = new long[][] {
    new long[] {1},
    new long[] {1, 1},
    new long[] {1, 2, 1},
    new long[] {1, 3, 3, 1}
};

Spiegazione

Il 2 nella terza riga è 1 + 1. I due 3 interni nella quarta riga sono 1 + 2 e 2 + 1.

Esempio 2
Input:
rows = 0

Output atteso:
expected = []
Input:
long long rows = 0;

Output atteso:
std::vector<std::vector<long long>> expected = {};
Input:
long rows = 0;

Output atteso:
long[][] expected = new long[][] {};

Spiegazione

Non viene richiesta nessuna riga, quindi restituisci una lista vuota.

Riferimenti

Questa sfida è adattata per CodeUtility. Segui la traccia e i vincoli sopra.

Impara dagli altri

Soluzioni della community

Nessuna soluzione pubblicata. Risolvi questa sfida per condividere la prima.