分类:二维数组及滚动数组
题目描述:
给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
在杨辉三角中,每个数是它左上方和右上方的数的和。
示例:
输入: 3
输出: [1,3,3,1]
代码实现:
/**
* @param {number} rowIndex
* @return {number[]}
*/
var getRow = function (rowIndex) {
if (rowIndex === 0) { return [1] }
if (rowIndex === 1) { return [1, 1] }
let index = 1, prevArr = [1, 1];
while (index < rowIndex) {
const arr = [];
index++;
for (let i = 0; i <= index; i++) {
if (i == 0 || i == index) {
arr[i] = 1;
} else {
arr[i] = prevArr[i - 1] + prevArr[i];
}
}
prevArr = arr;
}
return prevArr;
};
运行结果: