題目:
Given an integer rowIndex, return the rowIndexth (0-indexed) row of the Pascal's triangle.
給定一數n,回傳帕斯卡三角形的第n+1列(因為n是index值)
帕斯卡三角形的定義詳見118.
這兩題基本上可以說是十分相像
差在118.要回傳前n列,而這題只需回傳特定一列
也就是我們要記住的不再是整個三角形
只要記住我們要推算的新列的上一列就好
class Solution:
def getRow(self, rowIndex: int) -> List[int]:
if rowIndex==0:
return [1]
ans=[1,1]
for i in range(1,rowIndex):
temp=[1]
for j in range(len(ans)-1):
temp.append(ans[j]+ans[j+1])
temp.append(1)
ans=temp
return ans
大體上跟上題一樣
不過這題我們只要推算出新的一列就把上一列捨棄儲存新的這列
不用特別用一個陣列去存所有列
然後再用此列推算出下一列
如此循環直到做出第rowIndex+1列便可回傳
最後執行時間22ms(faster than 99.72%)
那我們下題見