在楊輝三角中,每一個數是它左上方和右上方的數的和。數組
輸入: 5 輸出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
分析思路:
找規律
1.每一行先後元素都是1
2.中間的元素等於上面元素和上面左邊元素之和,即temp[j] = res[i - 1][j - 1] + res[i - 1][j]
spa
/** * @param {number} numRows * @return {number[][]} */ var generate = function (numRows) { if (!numRows) return [] var res = [], i = 0; while (i < numRows) { var temp = [1]; for (let j = 1; j < i; j++) { temp[j] = res[i - 1][j - 1] + res[i - 1][j]; //動態計算每一列中每一行的值 } if (i > 0) temp.push(1) //每一行數組末尾補1 res.push(temp) i++ } return res };