118. Pascal's Triangle (python)

来源:互联网 发布:java语言程序设计下载 编辑:程序博客网 时间:2024/06/06 03:22

Given numRows, generate the first numRows of Pascal’s triangle.
For example, given numRows = 5,
Return
[
[1],
[1,1],
[1,2,1],
[1,3,3,1],
[1,4,6,4,1]
]
题意:每一层的第i个位置,等于上一层第i-1与第i个位置之和。
思路:设定rowlist是每一层的数组,临时数组为上一层的数组首尾各加0,rowlist第i个值为临时数组第i和i+1之和
Runtime: 49 ms

class Solution(object):    def generate(self, numRows):        """        :type numRows: int        :rtype: List[List[int]]        """        if numRows==0:            return []        tem=[0,1]        l=[]        for i in range(numRows):            rowlist=[]            for j in range(len(tem)-1):                rowlist.append(tem[j]+tem[j+1])            l.append(rowlist)            tem=rowlist[:]            tem.insert(0,0)            tem.append(0)        return  l    
0 0
原创粉丝点击