Reputation: 47
Could someone please walk me through as to what I did incorrectly on Pascal's Triangle in Javascript? I saw a thread that already exists using recursion however, without copying verbatim, the code, in my eyes, looks too similar to decipher what I'm doing wrong. I could use some fresh eyes on what I've missed or could improve. Thank you
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)
Upvotes: 0
Views: 163
Reputation: 1259
Just looks like you added a new array 'addToNewRow' by mistake.
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)
Upvotes: 1