![](https://i-blog.csdnimg.cn/blog_migrate/22bd7ab6a8f6bbfa64200c76c53d184f.png)
杨辉三角形
根据推断的可用表示式为:
C(lineNumber, i) = C(lineNumber, i - 1) * (lineNumber - i + 1) / i
JavaScript 实现
- 第一行默认为 1,第 n 行的个数需要在 n 的基础上加 1
- 进行循环,每一行的每个条目都是通过将左上方的数字与右上方的数字相加来构建的,如果没有将视为为 0。
const pascalTriangle = (lineNumber) => {
const currentLine = [1]
const currentLineSize = lineNumber + 1
for (let i = 1; i < currentLineSize; i++) {
currentLine[i] = (currentLine[i - 1] * (lineNumber - i + 1)) / i
}
return currentLine
}
pascalTriangle(0) // [1]
pascalTriangle(1) // [1, 1]
pascalTriangle(2) // [1, 2, 1]
pascalTriangle(3) // [1, 3, 3, 1]
pascalTriangle(4) // [1, 4, 6, 4, 1]
Leetcode 相关的链表题目
更多资料
- pascal-triangle
- pascals-triangle 可视化杨辉三角形演示