您的位置:首页 > 编程语言 > Python开发

119. Pascal's Triangle II -- Python

2018-01-15 16:55 330 查看
119. 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?

参考: 118. Pascal’s Triangle ,代码稍加修改只输出目标行数就行了

代码:

class Solution:
def generate(self, numRows):
"""
:type numRows: int
:rtype: List[List[int]]
"""
out=[]
for i in range(numRows+1):
out.append([1]*(i+1))
if i >1:
for j in range(1,i):
out[i][j]=out[i-1][j-1]+out[i-1][j]

return out[numRows][:]


更简洁的参考代码:

class Solution:
def getRow(self, rowIndex):
"""
:type rowIndex: int
:rtype: List[int]
"""
res = [1]
for i in range(rowIndex):
res = list(map(lambda x, y: x + y, [0] + res, res + [0]))
return res


其中用到了 map 和 lambda(快速实现函数)。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: