题目:
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]
]
题意:
给定行数numRows,产生杨辉三角的前numRows行
代码:
class Solution(object):
def generate(self, numRows):
"""
:type numRows: int
:rtype: List[List[int]]
"""
if numRows <= 0 :
return []
else :
result = [] #记录整个杨辉三角
uple = [1] #记录杨辉三角的上一层
result.append(uple)
for i in range(1, numRows) :
downle = [1] #记录杨辉三角的下一层
for j in range(len(uple)-1) :
downle.append(uple[j] + uple[j+1])
downle.append(1)
result.append(downle)
uple = downle
return result
笔记:
杨辉三角:
即每一行的首尾都为1,当前行按顺序每相邻两个数字相加,即为下一行需要插入的数字