题目描述:
第一次提交:
class Solution:
def generate(self, numRows: int):
l = []
for i in range(numRows):
n = [1]*(i+1)
if len(n)>2:
#pre = [1,1]
for j in range(1,len(n)-1):
n[j] = pre[j-1]+pre[j]
#l.append([n])
l+=[n]
pre = n
return l
方法二:
def generate(self, numRows: int) -> List[List[int]]:
# 先生成一个全部为1的金字塔,列表推导时用了一点点小技巧
a = [[1 for j in range(0,i+1)] for i in range(numRows) ]
# 然后双重循环遍历整个金字塔,一个元素等于其两肩和
for i in range(2,len(a)):
for j in range(1,i):
a[i][j] = a[i-1][j-1] + a[i-1][j]
return a
手机扫一扫
移动阅读更方便
你可能感兴趣的文章