Search code examples
javascriptarrayspascals-triangle

Debug Pascal's Triangle


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)


Solution

  • 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)