Skip to content

Commit 67a4f0d

Browse files
NourBcitsvinayak
andauthored
Add Pascal's triangle. (#149)
* Add Pascal's triangle. * Update pascalTriangle.js * Update pascalTriangle.js Co-authored-by: vinayak <itssvinayak@gmail.com>
1 parent 9d4349c commit 67a4f0d

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

maths/pascalTriangle.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
const numRows = 5
2+
3+
var generate = function (numRows) {
4+
const triangle = [[1], [1, 1]]
5+
6+
if (numRows === 0) {
7+
return []
8+
} else if (numRows === 1) {
9+
return [[1]]
10+
} else if (numRows === 2) {
11+
return [[1], [1, 1]]
12+
} else {
13+
for (let i = 2; i < numRows; i++) {
14+
addRow(triangle)
15+
}
16+
}
17+
return triangle
18+
}
19+
var addRow = function (triangle) {
20+
const previous = triangle[triangle.length - 1]
21+
const newRow = [1]
22+
for (let i = 0; i < previous.length - 1; i++) {
23+
const current = previous[i]
24+
const next = previous[i + 1]
25+
newRow.push(current + next)
26+
}
27+
newRow.push(1)
28+
return triangle.push(newRow)
29+
}
30+
31+
generate(numRows)

0 commit comments

Comments
 (0)