LintCode 1354. 杨辉三角形II JavaScript算法

描述

给定非负索引k,其中k≤33,返回杨辉三角形的第k个索引行。

说明

1、注意行下标从 0 开始
2、在杨辉三角中,每个数字是它上面两个数字的总和。

样例

- 样例1

输入: 3
输出: [1,3,3,1]

- 样例2

输入: 4
输出: [1,4,6,4,1]

挑战

你可以优化你的算法到空间复杂度为O(k)吗?

解析

let getRow = function(rowIndex) {
	rowIndex++;
	let resultArr = [];
	for (let i = 1; i < rowIndex + 1; i++) {
	    resultArr.push((Number((factorial(rowIndex - 1) / (factorial(i - 1) * factorial(rowIndex - i))).toFixed(0))));
	}
	return resultArr;
};

// 求阶乘
function factorial(num) {
	if (num < 2) {
		return 1;
	} else {
		return num * factorial(num - 1);
	}
}

运行结果

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/SmallTeddy/article/details/108446977