您的位置:首页 > 其它

[Leetcode]Pascal's Triangle II

2015-01-05 22:15 405 查看
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?

Pascal's Triangle的扩展题~ 要求返回Pascal's Triangle的第k行,并且只用O(k)的额外空间~ 我们可以从后往前扫,每次需要的数据就是res[j - 1] + res[j],我们需要的数据不会被覆盖,因为需要的res[j]只在当前步用,下一步就不需要了。

class Solution:
# @return a list of integers
def getRow(self, rowIndex):
if rowIndex < 0: return []
res = [1]
for i in xrange(1, rowIndex + 1):
for j in reversed(xrange(1, i)):
res[j] = res[j - 1] + res[j]
res.append(1)
return res
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: