欣迪

Given an integer numRows, return the first numRows of Pascal’s triangle.

In Pascal’s triangle, each number is the sum of the two numbers directly above it as shown:

Example 1:

Input: numRows = 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

Example 2:

Input: numRows = 1
Output: [[1]]

Constraints:

  • 1 <= numRows <= 30

/**
 * @param {number} numRows
 * @return {number[][]}
 */
var generate = function(numRows) {
    const Arr = [[1]]
    const setNextRow = (row) => {
        const rowArr = Array(row.length + 1).fill(1)
        for(let i = 1; i < rowArr.length - 1; i++) {
            rowArr[i] = row[i-1] + row[i]
        }
        return rowArr
    }
    for(let i = 1; i < numRows; i++) {
        Arr.push(setNextRow(Arr[i - 1]))
    }
    return Arr
};

訂閱 IT-Monk

訂閱最新文章的發布消息! 😚😚😚
Loading

作者介紹 - 欣迪

欣迪

從設計到寫程式,發現自己有追求前端技巧的自虐傾向。不斷的踩坑,再從坑裡爬出來,慢慢對攀岩有點心得。 目前在多間公司擔任網站設計顧問。 同時也是網站架設公司負責人。