leetcode-数组-118-杨辉三角

描述

  • 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。
  • 在杨辉三角中,每个数是它左上方和右上方的数的和。

举例

输入: 5
输出:
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]

思路

  • 判断如果不是该列数组的首位或者最后一位,则值为a[i-1][j-1] + a[i-1][j] ,否则值为1

代码

    var generate = function (numRows) {
        const result = [];
        if (numRows <= 0) {
            return result;
        }
        let i = 0, j = 0;
        for (let i = 0; i < numRows; i ++) {
            const subArr = [];
            for (let j = 0; j <= i; j++) {
                if (j > 0 && j < i) {
                    subArr.push(result[i-1][j-1] + result[i-1][j]);
                } else {
                    subArr.push(1);
                }
            }
            result.push(subArr);
        }
        return result;
    };

   转载规则


《leetcode-数组-118-杨辉三角》 朝飞 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
彻底理解this、apply、call、bind 彻底理解this、apply、call、bind
this、apply、call、bind 这又是一个面试经典问题/(ㄒoㄒ)/也是 ES5中众多坑中的一个,在 ES6 中可能会极大避免 this 产生的错误,但是为了一些老代码的维护,最好还是了解一下 this 的指向和 call、app
2020-02-25
下一篇 
leetcode-数组-88-合并两个有序数组 leetcode-数组-88-合并两个有序数组
题目描述(难度:简单) 给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。 说明 初始化 nums1 和 nums2 的元素数量分别为 m 和 n。 你可以假设 n
2020-02-24
  目录