leetcode-数组-119-杨辉三角2

题目描述(难度:简单)

  • 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。
  • 在杨辉三角中,每个数是它左上方和右上方的数的和。

代码

    var generate = function (numRows){
        const result = [];
        if (numRows <= 0) {
            return result;
        }
        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[result.length-1];
    }

    /**
    * O(K)空间复杂度
    * @param {number} rowIndex
    * @return {number[]}
    */
    var getRow = function(rowIndex) {
    let triangle = [];
    if (rowIndex > -1) triangle = [1];
    if (rowIndex > 0) triangle = [1, 1];
    for(let i = 1; i < rowIndex ; i++) {
        let temp = triangle; // 保存当前结果
        triangle = [1];
        for(let j = 1; j < temp.length; j++) {
        // 上行结果相邻数相加得出结果
        triangle.push(temp[j] + temp[j-1]);
        }
        triangle.push(1);
    }
    return triangle;
    };

    /**
    * 根据上一题解法
    * @param {number} rowIndex
    * @return {number[]}
    */
    var getRow = function(rowIndex) {
    let triangle = [];
    if (rowIndex > -1) triangle.push([1]);
    if (rowIndex > 0) triangle.push([1, 1]);
    for(let i = 1; i < rowIndex ; i++) {
        triangle.push([1]);
        for(let j = 0; j < triangle[i].length - 1; j++) {
        triangle[i+1].push(triangle[i][j] + triangle[i][j+1]);
        }
        triangle[i+1].push(1);
    }
    return triangle[rowIndex];
    };

   转载规则


《leetcode-数组-119-杨辉三角2》 朝飞 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
leetcode-数组-217-存在重复元素 leetcode-数组-217-存在重复元素
题目描述(难度:简单) 给定一个整数数组,判断是否存在重复元素。 如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。 示例1: 输入: [1,2,3,1] 输出: true示
2020-02-27
下一篇 
彻底理解this、apply、call、bind 彻底理解this、apply、call、bind
this、apply、call、bind 这又是一个面试经典问题/(ㄒoㄒ)/也是 ES5中众多坑中的一个,在 ES6 中可能会极大避免 this 产生的错误,但是为了一些老代码的维护,最好还是了解一下 this 的指向和 call、app
2020-02-25
  目录