Skip to content

Latest commit

 

History

History
38 lines (22 loc) · 1.33 KB

File metadata and controls

38 lines (22 loc) · 1.33 KB

118. Pascal's Triangle

Énoncé

Étant donné un entier numRows, retournez les numRows premières lignes du triangle de Pascal.

Dans le triangle de Pascal, chaque nombre est la somme des deux nombres directement au-dessus, comme indiqué:

Exemple

Exemple 1:
Input: numRows = 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

Exemple 2:
Input: numRows = 1
Output: [[1]]

Contraintes

1 <= numRows <= 30

Note personnelle

Mon approche est assez simple, elle suit le principe du triangle de Pascal. Pour commencer, j'initialise un vecteur answer de longueur numRows qui représentera les lignes du triangle, et je lui assigne answer[0] = {1} pour la première ligne.

Ensuite, je crée une boucle imbriquée : la première parcourt les lignes grâce à l'indice i, et la seconde parcourt les colonnes grâce à l'indice j.

Pendant le parcours des lignes, je crée un vecteur row de taille i+1 et j'initialise sa première valeur à 1.

Ensuite, je calcule les valeurs suivantes jusqu'à i - 1 dans la boucle des colonnes en utilisant les valeurs de la ligne précédente. Enfin, je rajoute 1 à la fin de mon vecteur.

Cette approche a une complexité temporelle et spatiale de O(n^2)