We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
1 parent ecc36fb commit dc2176dCopy full SHA for dc2176d
algorithms/math/pascalsTriangle.js
@@ -0,0 +1,23 @@
1
+function pascalTriangleRecursive(lineNumber) {
2
+ if (lineNumber === 0) {
3
+ return [1];
4
+ }
5
+
6
+ const currentLineSize = lineNumber + 1;
7
+ const previousLineSize = currentLineSize - 1;
8
9
+ const currentLine = [];
10
11
+ const previousLine = pascalTriangleRecursive(lineNumber - 1);
12
13
+ for (let numIndex = 0; numIndex < currentLineSize; numIndex += 1) {
14
+ const leftCoefficient = numIndex - 1 >= 0 ? previousLine[numIndex - 1] : 0;
15
+ const rightCoefficient =
16
+ numIndex < previousLineSize ? previousLine[numIndex] : 0;
17
18
+ currentLine[numIndex] = leftCoefficient + rightCoefficient;
19
20
21
+ return currentLine;
22
+}
23
+console.log(pascalTriangleRecursive(40));
0 commit comments