1355. 杨辉三角

1355. 杨辉三角

中文English

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

图片

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

样例

样例 1:

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

样例 2:

输入: 3
输出:
[
     [1],
    [1,1],
   [1,2,1]
]
 
 
输入测试数据 (每行一个参数)如何理解测试数据?
class Solution:
    """
    @param numRows: num of rows
    @return: generate Pascal's triangle
    """
    '''
    大致思路:
    1.首先给定初始值res = [[1],[1,1]],然后下面开始循环,从上一个列表里面开始去取值,给出一个方法,可以得到下一个列表。
    '''
    def generate(self, numRows):
        res = [[1]]
        for i in range(numRows-1):
            res.append(self.getnextlist(res[i]))
        return res
        

    def getnextlist(self,pre_l):
        l = [1]
        for i in range(len(pre_l)-1): 
            l.append(pre_l[i]+pre_l[i+1])
        return l + [1]
原文地址:https://www.cnblogs.com/yunxintryyoubest/p/12741559.html