Pascal's Triangle II
Given an index k, return the kth row of the Pascal's triangle.
For example, given k = 3, Return [1,3,3,1].
Note: Could you optimize your algorithm to use only O(k) extra space?
class Solution(object):
def getRow(self, rowIndex):
"""
:type rowIndex: int
:rtype: List[int]
"""
row = [1]
for i in range(1, rowIndex + 1):
row = [1] + [ row[x] + row[x - 1] for x in range(1, i)] + [1]
return row
Trick:
class Solution(object):
def getRow(self, rowIndex):
"""
:type rowIndex: int
:rtype: List[int]
"""
res = [1]
for i in range(rowIndex):
res[:] = map(lambda x, y: x + y, res + [0], [0] + res)
return res