LeetCode #118. Pascal's Triangle

题目

118. Pascal's Triangle


解题方法

这是一道典型的dp题,从第三行开始的中间部分都是由上一行决定的,处理好第一二行和每行首尾的边界值即可。


代码

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        ret = []
        
        for i in range(numRows):
            if not i:
                ret.append([1])
                continue
            if i == 1:
                ret.append([1, 1])
                continue
            
            temp = []
            for j in range(i + 1):
                if not j or j == i:
                    temp.append(1)
                else:
                    temp.append(ret[i-1][j-1] + ret[i-1][j])
            ret.append(temp)
            
        return ret
posted @ 2020-10-21 15:00  老鼠司令  阅读(48)  评论(0)    收藏  举报