leeCode算法--杨辉三角(II)

题目:给定一个非负索引 rowIndex,返回「杨辉三角」的第 rowIndex 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。

杨辉三角

分析:其实上图中的关系可以看出,杨辉三角的层级比题目要求的索引少1,那么在这个基础上,我们就可以将上一题稍加改造就OK了。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
let getRow = rowIndex => {
let result = []
for (let i = 0; i < rowIndex + 1;i++) {
let tempArr = []
for (let j = 0;j < i;j++) {
let sum = 0
if (!result[i-1]) {
sum = 1
} else {
let left = result[i-1][j-1] || 0
let right = result[i-1][j] || 0
sum = left + sum + right
}
tempArr.push(sum || 1)
}
result.push(tempArr)
}
return result[rowIndex]
}

That’s all!

  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2015-2022 Lee
  • 访问人数: | 浏览次数:

请我喝杯咖啡吧~

支付宝
微信