8000
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