有人能告诉我在Javascript中我在Pascal's Triangle上做错了什么吗?我看到了一个已经存在的使用递归的线程,然而,没有逐字复制,在我看来,代码看起来太相似了,无法破译我做错了什么。我可以用一些新的眼光来看待我错过的或者可以改进的地方。谢谢你
var pTri = [[1]]
function pascalTriangle(num, pTri) {
if (num < 2) {
return pTri;
}
var newRow = [1];
var lastRow = pTri[pTri.length - 1];
console.log(lastRow)
for (var i = 1; i < lastRow.length; i++) {
var addToNewRow = lastRow[i] + lastRow[i - 1];
newRow.push(addToNewRow);
}
pTri.push(newRow);
return pascalTriangle(num - 1, pTri);
}
pascalTriangle(2, pTri)
发布于 2019-03-12 07:53:48
只是看起来你错误地添加了一个新的数组'addToNewRow‘。
var pTri = [[1]]
function pascalTriangle(num, pTri) {
if (num < 2) {
return pTri;
}
var newRow = [1];
var lastRow = pTri[pTri.length - 1];
console.log(lastRow)
for (var i = 1; i < lastRow.length; i++) {
newRow[i] = lastRow[i] + lastRow[i - 1];
}
newRow.push(1);
pTri.push(newRow);
return pascalTriangle(num - 1, pTri);
}
pascalTriangle(10, pTri)
https://stackoverflow.com/questions/55112009
复制相似问题