您的位置:首页 > 编程语言 > Python开发

118. Pascal's Triangle (python)

2016-10-30 16:04 295 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: