[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
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
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
相关文章推荐
- LeetCode 119. Pascal's Triangle II
- [Leetcode] Pascal's Triangle II
- [leetcode, python] Pascal's Triangle II 杨辉三角
- leetcode-Pascal's Triangle(I、II)
- 【Leetcode】119. Pascal's Triangle II
- LeetCode: Pascal's Triangle II
- leetcode119. Pascal's Triangle II
- [题解][LeetCode][Pascal's Triangle II]
- LeetCode - Pascal's Triangle II
- 【LeetCode】119. Pascal's Triangle II
- leetcode之Pascal's Triangle II
- LeetCode 之 Pascal's Triangle II
- [Leetcode] Pascal's Triangle II
- leetcode:pascal's_triangle_II
- Leetcode: Pascal's Triangle II
- [leetcode, python] Pascal's Triangle II 杨辉三角
- LeetCode-Easy部分中标签为Array#119 : Pascal’s Triangle II
- LeetCode之Pascal’s Triangle II
- [LeetCode][119. Pascal's Triangle II][easy]Java实现,杨辉三角
- Leetcode_Pascal's Triangle II