jonny-gios-tbX8Ea4C1f8-unsplash.jpg
    简单给定一个非负整数 numRows,生成「杨辉三角」的前 numRows 行。在「杨辉三角」中,每个数是它左上方和右上方的数的和。
    118.杨辉三角 - 图2

    1. /**
    2. * @param {number} numRows
    3. * @return {number[][]}
    4. */
    5. var generate = function (numRows) {
    6. if (numRows === 1) {
    7. return [[1]];
    8. } else if (numRows === 2) {
    9. return [[1], [1, 1]];
    10. } else if (numRows === 3) {
    11. return [[1], [1, 1], [1, 2, 1]];
    12. }
    13. const ans = [[1], [1, 1], [1, 2, 1]];
    14. const t = [];
    15. for (let i = 3; i < numRows; i++) {
    16. for (let j = 0; j < ans[i - 1].length - 1; j++) {
    17. const x = ans[i - 1][j] + ans[i - 1][j + 1];
    18. t.push(x);
    19. }
    20. t.unshift(1);
    21. t.push(1);
    22. ans.push(t.splice(0, i+1));
    23. }
    24. return ans;
    25. };