列表

详情


118. 杨辉三角

给定一个非负整数 numRows生成「杨辉三角」的前 numRows 行。

在「杨辉三角」中,每个数是它左上方和右上方的数的和。

 

示例 1:

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

示例 2:

输入: numRows = 1
输出: [[1]]

 

提示:

相似题目

杨辉三角 II

原站题解

去查看

上次编辑到这里,代码来自缓存 点击恢复默认模板
class Solution { public: vector<vector<int>> generate(int numRows) { } };

golang 解法, 执行用时: 0 ms, 内存消耗: 2 MB, 提交时间: 2021-07-28 18:06:49

func generate(numRows int) [][]int {
    ans := make([][]int, numRows)
    for i := range ans {
        ans[i] = make([]int, i+1)
        ans[i][0] = 1
        ans[i][i] = 1
        for j := 1; j < i; j++ {
            ans[i][j] = ans[i-1][j] + ans[i-1][j-1]
        }
    }
    return ans
}

python3 解法, 执行用时: 44 ms, 内存消耗: N/A, 提交时间: 2018-08-24 01:12:19

class Solution:
    def generate(self, numRows):
        """
        :type numRows: int
        :rtype: List[List[int]]
        """
        li = []
        if numRows == 0 :
            return li
        a = [1]
        if numRows == 1:
            return [[1]]
        li.append(a)
        for i in range(2, numRows+1):
            a = [sum(i) for i in zip([0]+a, a+[0])]
            li.append(a)
        return li
        
        

上一题