Tous les défis
Facile 0 résolus 0 % de réussite

Triangle de Pascal

Construisez les lignes en additionnant les éléments voisins de la ligne précédente.

La première ligne est [1]. Chaque ligne suivante commence et se termine par 1. Chaque élément intérieur est la somme des deux éléments situés juste au-dessus. Retournez les premières rows lignes, en commençant par le seul 1.

Implémentez pascals_triangle(rows).

Entrée

rows : Nombre de lignes à générer.

Sortie

Retournez une liste de lignes, en commençant par le haut ; chaque ligne est une liste d'entiers.

Contraintes

0 ≤ rows ≤ 60. Chaque élément tient dans un entier signé de 64 bits. Zéro ligne doit retourner une liste vide.

Exemples

Exemple 1
Entrée :
rows = 4

Sortie attendue :
expected = [
    [1],
    [1, 1],
    [1, 2, 1],
    [1, 3, 3, 1]
]
Entrée :
long long rows = 4;

Sortie attendue :
std::vector<std::vector<long long>> expected = {
    {1},
    {1, 1},
    {1, 2, 1},
    {1, 3, 3, 1}
};
Entrée :
long rows = 4;

Sortie attendue :
long[][] expected = new long[][] {
    new long[] {1},
    new long[] {1, 1},
    new long[] {1, 2, 1},
    new long[] {1, 3, 3, 1}
};

Explication

Le 2 à la ligne 3 est 1 + 1. Les deux 3 à l'intérieur de la ligne 4 sont 1 + 2 et 2 + 1.

Exemple 2
Entrée :
rows = 0

Sortie attendue :
expected = []
Entrée :
long long rows = 0;

Sortie attendue :
std::vector<std::vector<long long>> expected = {};
Entrée :
long rows = 0;

Sortie attendue :
long[][] expected = new long[][] {};

Explication

Aucune ligne n'est demandée, il faut donc retourner une liste vide.

Références

Ce défi a été adapté pour CodeUtility. Suivez l'énoncé et les contraintes ci-dessus.

Apprenez des autres

Solutions de la communauté

Aucune solution publiée pour l'instant. Résolvez ce défi pour partager la première.