53 lines
942 B
Python
53 lines
942 B
Python
|
|
'''
|
||
|
|
|
||
|
|
https://leetcode.com/problems/pascals-triangle/
|
||
|
|
|
||
|
|
'''
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
def main():
|
||
|
|
|
||
|
|
def generate(numRows):
|
||
|
|
|
||
|
|
triangle = []
|
||
|
|
|
||
|
|
if numRows==0:
|
||
|
|
return []
|
||
|
|
|
||
|
|
# add first row
|
||
|
|
triangle.append([1])
|
||
|
|
|
||
|
|
# add other rows
|
||
|
|
for i in range(1, numRows):
|
||
|
|
|
||
|
|
curr_row = i
|
||
|
|
|
||
|
|
# append placeholders to each row
|
||
|
|
row = []
|
||
|
|
for i in range(0, curr_row+1):
|
||
|
|
|
||
|
|
if i==0:
|
||
|
|
row.append(1)
|
||
|
|
elif i==curr_row:
|
||
|
|
row.append(1)
|
||
|
|
else:
|
||
|
|
# print triangle[curr_row-1][i]
|
||
|
|
# print triangle[curr_row-1][i-1]
|
||
|
|
|
||
|
|
# row.append(None)
|
||
|
|
row.append( triangle[curr_row-1][i] + triangle[curr_row-1][i-1] )
|
||
|
|
|
||
|
|
triangle.append(row)
|
||
|
|
|
||
|
|
|
||
|
|
return triangle
|
||
|
|
|
||
|
|
|
||
|
|
print generate(5)
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
if __name__ == "__main__":
|
||
|
|
main()
|