0
点赞
收藏
分享

微信扫一扫

每日一算法:杨辉三角形

​​杨辉三角形​​​(pascal triangle),又称帕斯卡三角形,是​​二项式系数​​的三角形数组。

每日一算法:杨辉三角形_杨辉三角形

杨辉三角形

根据推断的可用表示式为:

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 相关的链表题目

  • ​​杨辉三角​​
  • ​​杨辉三角 II​​

更多资料

  • ​​pascal-triangle​​
  • ​​pascals-triangle​​ 可视化杨辉三角形演示
举报

相关推荐

打印杨辉三角形

C#杨辉三角形

C语言 杨辉三角形

C# 杨辉三角形

0 条评论