调试帕斯卡三角
Debug Pascal's Triangle
有人可以告诉我在 Javascript 中我在帕斯卡三角形上做错了什么吗?我看到一个已经使用递归存在的线程,但是,没有逐字复制,在我看来,代码看起来太相似了,无法破译我做错了什么。我可以用一些新的眼光来看待我错过或可以改进的地方。谢谢
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)
看起来您错误地添加了一个新数组 '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)
有人可以告诉我在 Javascript 中我在帕斯卡三角形上做错了什么吗?我看到一个已经使用递归存在的线程,但是,没有逐字复制,在我看来,代码看起来太相似了,无法破译我做错了什么。我可以用一些新的眼光来看待我错过或可以改进的地方。谢谢
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)
看起来您错误地添加了一个新数组 '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)