DataStructure/Others
Pascal's Triangle
ND Paul Kim
2018. 11. 18. 20:19
Given a non-negative integer numRows, generate the first numRows of Pascal's triangle.
In Pascal's triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 5 Output: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]
My solution:
class Solution:
def generate(self, numRows):
"""
:type numRows: int
:rtype: List[List[int]]
"""
result = list()
if numRows > 0:
result.append([1])
else:
return result
for j in range(numRows - 1):
tmp = list()
index = len(result) - 1
for i in range(j + 2):
if i == 0:
tmp.append(result[index][i])
continue
if i == len(result):
tmp.append(result[index][i - 1])
break
add = result[index][i - 1] + result[index][i]
tmp.append(add)
result.append(tmp)
return result