mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-07 02:05:08 +08:00
Add Pascal's triangle. (#149)
* Add Pascal's triangle. * Update pascalTriangle.js * Update pascalTriangle.js Co-authored-by: vinayak <itssvinayak@gmail.com>
This commit is contained in:
31
maths/pascalTriangle.js
Normal file
31
maths/pascalTriangle.js
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
const numRows = 5
|
||||||
|
|
||||||
|
var generate = function (numRows) {
|
||||||
|
const triangle = [[1], [1, 1]]
|
||||||
|
|
||||||
|
if (numRows === 0) {
|
||||||
|
return []
|
||||||
|
} else if (numRows === 1) {
|
||||||
|
return [[1]]
|
||||||
|
} else if (numRows === 2) {
|
||||||
|
return [[1], [1, 1]]
|
||||||
|
} else {
|
||||||
|
for (let i = 2; i < numRows; i++) {
|
||||||
|
addRow(triangle)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return triangle
|
||||||
|
}
|
||||||
|
var addRow = function (triangle) {
|
||||||
|
const previous = triangle[triangle.length - 1]
|
||||||
|
const newRow = [1]
|
||||||
|
for (let i = 0; i < previous.length - 1; i++) {
|
||||||
|
const current = previous[i]
|
||||||
|
const next = previous[i + 1]
|
||||||
|
newRow.push(current + next)
|
||||||
|
}
|
||||||
|
newRow.push(1)
|
||||||
|
return triangle.push(newRow)
|
||||||
|
}
|
||||||
|
|
||||||
|
generate(numRows)
|
Reference in New Issue
Block a user