• 好像记得在以前刚学算法,好像是递归的时候学到过这个三角形,所以第一眼看到想用递归做,又感觉好像不对劲,看了看题解发现没人用递归做

    杨辉三角规律就是从第三行开始,除了第一和最后一个值 中间的值都是上一行的行数+行数-1 也是 这个值的位数+位数-1

    即 answer[i-2][s-1] + answer[i-2][s-2]

    i 为当前的行数 上一行-1 索引-1 所以为-2

    s为当前行要求的第n个元素 然后因为是索引 -1

    说的比较乱,写的也很菜…

    /**
     * @param {number} numRows
     * @return {number[][]}
     */
    var generate = function(numRows) {
        if (numRows == 0 ) return []
        if (numRows == 1 ) return [[1]]
        let answer = [[1], [1,1]]
        if (numRows == 2 ) return answer
        for (let i = 3; i <= numRows; i++) {
            let newarr = []
            for (let s = 2; s < i; s++) {
                newarr.push(answer[i-2][s-1] + answer[i-2][s-2]) 
            }
            newarr.unshift(1)
            newarr.push(1)
            answer.push(newarr)
        }
        return answer
    };