注意这里的输入是行的Index,不是行数
通过记录上一行
class Solution:
# @param {integer} rowIndex
# @return {integer[]}
def getRow(self, rowIndex):
rtn, prev = [1], [1,1]
for k in range(rowIndex+1):
rtn = [1] * (k+1)
if k>1:
for j in range(1,k):
rtn[j] = prev[j-1] + prev[j]
prev = rtn
return rtn
在一行内解决
观察
1 3 3 1
S1: 尾部加一 1 3 3 1 1
S2: 从倒数第二个到正数第二个,每个数变成当前数与其左边的数之和
1 3 3 4 1
1 3 6 4 1
1 4 6 4 1