118. 楊輝三角(Python)

題目

難度:★☆☆☆☆
類型:數(shù)組

給定一個(gè)非負(fù)整數(shù) numRows,生成楊輝三角的前 *numRows *行。

在楊輝三角中,每個(gè)數(shù)是它左上方和右上方的數(shù)的和。

示例

輸入: 5

輸出:

[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

解答

這道題很簡(jiǎn)單,通過(guò)簡(jiǎn)單的循環(huán)嵌套即可實(shí)現(xiàn),這里需要注意的是初始化過(guò)程。

class Solution:
    def generate(self, numRows):
        
        if numRows == 0:                                            # 輸入為0,輸出[]
            return []

        if numRows == 1:                                            # 輸入為1,輸出第一層
            return [[1]]

        if numRows == 2:                                            # 輸入為2,輸出前兩層
            return [[1], [1, 1]]

        res, prev_layer = [[1], [1, 1]], [1, 1]                     # 初始化結(jié)果變量和上一層結(jié)果
        for r in range(2, numRows):
            cur_layer = []                                          # 初始化
            for i in range(0, len(prev_layer)-1):
                cur_layer.append(prev_layer[i]+prev_layer[i+1])     # 當(dāng)前層結(jié)果
            cur_layer = [1] + cur_layer + [1]                       # 左右兩邊添加1
            res.append(cur_layer)                                   # 添加當(dāng)前層結(jié)果
            prev_layer = cur_layer                                  # 更新前一層結(jié)果為當(dāng)前層結(jié)果
        return res

如有疑問(wèn)或建議,歡迎評(píng)論區(qū)留言~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容