給定乙個非負索引 k,其中 k ≤ 33,返回楊輝三角的第 k 行。
在楊輝三角中,每個數是它左上方和右上方的數的和。
示例:
輸入: 3
輸出: [1,3,3,1]
高階:
空間複雜度為o(k)
還是利用動態規劃。設定乙個長度為k+1(當k為0時,返回的是第一行……)的dp陣列。
然後從第一層開始,開始更新陣列。假如當前的層為第i層,那麼陣列的前i-1個元素是楊輝三角第i-1層的元素,因為dp[j] = dp[j] +dp[j-1],每次更新元素的時候都要用到前面的元素,如果每一層從前往後修改陣列元素的話dp[j]加的就是已經修改了的dp[j-1],而不是第i-1層的第j個元素,這樣就會產生錯誤。因此對於每一層,都需要從後往前修改元素。
注意界限的問題
class
solution
:def
getrow
(self, rowindex:
int)
-> list[
int]
: result =[0
for i in
range
(rowindex+1)
] result[0]
=1for i in
range(1
,rowindex+1)
:for j in
range
(i,0,-
1): result[j]
+= result[j-1]
return result
LeetCode 楊輝三角
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行,在楊輝三角中,每個數是它左上方和右上方的數的和。思路分析 1 第一行是固定的,只有乙個1。2 第二行也是固定的,有兩個1。3 任意一行的開頭結尾都是1。4 第 i 行一共有 i 列。5 第 i 行的第 j 列,該數字是根據 i ...
python楊輝三角 楊輝三角I II
給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 可以一行一行錯位加,當然這裡提供更簡便的方法。任取一行描述 1,2,1 如何得到 1,3,3,1 ...
leetcode 118 楊輝三角
前言 python刷leetcode題解答目錄索引 正文 給定乙個非負整數 numrows,生成楊輝三角的前 numrows 行。在楊輝三角中,每個數是它左上方和右上方的數的和。示例 輸入 5 輸出 1 1,1 1,2,1 1,3,3,1 1,4,6,4,1 class solution def g...