每日一算法:杨辉三角形

杨辉三角形(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 相关的链表题目

更多资料

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值