原题地址:https://oj.leetcode.com/problems/pascals-triangle/
题意:
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]
]
解题思路:杨辉三角的求解。
代码:
class Solution:
# @return a list of lists of integers
def generate(self, numRows):
if numRows == 0:
return []
if numRows == 1:
return [[1]]
if numRows == 2:
return [[1], [1, 1]]
if numRows > 2:
list = [[] for i in range(numRows)]
for i in range(0, numRows):
list[i] = [1 for j in range(i + 1)]
for i in range(2, numRows):
for j in range(1, i):
list[i][j] = list[i - 1][j - 1] + list[i - 1][j]
return list