mirror of
https://github.com/TheAlgorithms/JavaScript.git
synced 2025-07-05 08:16:50 +08:00

* Add prettier config * test: add test to check for absolute function * chore: es5 to es6 * test: add test to check mean function * test: add test for sum of digit * test: add test for factorial * test: add test for fibonnaci * test: add test for find HCF * test: add test for lcm * test: add gridget test * test: add test for mean square error * test: add test for modular binary exponentiation * test: add tests for palindrome * test: add test for pascals triangle * test: add tests for polynomial * test: add tests for prime check * test: add tests for reverse polish notation * test: add tests for sieve of eratosthenes * test: add tests for pi estimation monte carlo method * chore: move tests to test folder * chore: fix standardjs errors
31 lines
633 B
JavaScript
31 lines
633 B
JavaScript
const addRow = (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)
|
|
}
|
|
|
|
const generate = (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
|
|
}
|
|
|
|
export { generate }
|