119. Pascal's Triangle II
Given a non-negative index k where k ≤ 33, return the kth index row of the Pascal's triangle.
Note that the row index starts from 0.
In Pascal's triangle, each number is the sum of the two numbers directly above it.
Example:
Input: 3
Output: [1,3,3,1]
Follow up:
Could you optimize your algorithm to use only O(k) extra space?
解题要点:
只要那一层的数组,设index0为1,然后把它当作立体的三角形进行运算(倒叙)。为什么只能用倒叙?后面是未加的数,如果从前面开始加,会有重复,因为是在同一条数组里。
class Solution(object):
def getRow(self, rowIndex):
"""
:type rowIndex: int
:rtype: List[int]
"""
res = [0] * (rowIndex + 1)
res[0] = 1
for i in range(1, rowIndex+1):
for j in range(i, 0, -1):
res[j] += res[j-1]
return res
Last updated
Was this helpful?