Pascal's Triangle
Description
Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
Solution(javascript)
const generate = (numRows) => {
const result = []
for (let i = 0; i < numRows; i++) {
const current = []
for (let j = 0; j <= i; j++) {
if (result[i - 1] && result[i - 1][j] && result[i - 1][j - 1]) {
current.push(result[i - 1][j] + result[i - 1][j - 1])
} else {
current.push(1)
}
}
result.push(current)
}
return result
}