フォースバックルNO.118楊輝三角

件名:(リンク

ここに画像の説明を挿入

解決策:i番目の行のj番目の番号=i-1番目の行のj-1番目の番号+i-1番目の行のj番目の番号。左右の境界線は両方とも1であることに注意してください、それはとても簡単です。

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        # 第i行的第j个数=第i-1行的j-1个数 + 第i-1行的第j个数。注意下,左右边界都是1,就这么简单。不需要扯一大堆数学公式。
        mat = [[0] * i for i in range(1,numRows+1)]
        # print(mat) # [[0], [0, 0], [0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0, 0]]
        for i in range(numRows): # 三角形的边界都是0
            mat[i][0] = 1 
            mat[i][i] = 1
        for i in range(numRows):
            for j in range(1,i):
                mat[i][j] = mat[i-1][j-1] + mat[i-1][j]
        return mat

おすすめ

転載: blog.csdn.net/qq_33489955/article/details/124248505