leetcode 楊輝三角 (python)

2021-09-24 14:21:17 字數 970 閱讀 7562

給定乙個非負索引 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...