leetcode-python-杨辉三角

1)普通写法,从第三行开始,计算中间元素,首位补1。空间复杂度较高

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        if numRows == 1:
            return [[1]]
        if numRows == 2:
            return [[1],[1,1]]
        result = [[1],[1,1]]
        cur =  [1,1]
        while numRows > 2:
            next_line = [1]
            for i in range(len(cur)-1):
                t = cur[i]+cur[i+1]
                next_line.append(t)
            next_line.append(1)
            cur = next_line
            # print(cur)
            numRows -= 1
            result.append(cur)
        return result

2)查找杨辉三角数学公式,套公式算

posted @ 2021-06-12 15:06  泊鸽  阅读(48)  评论(0)    收藏  举报