其他分享
首页 > 其他分享> > 【新手上路】LeetCode刷题之“杨辉三角”

【新手上路】LeetCode刷题之“杨辉三角”

作者:互联网

题目如下:

看到这个贴心的动画,我第一时间想到的就是动态规划,动画里下面的数是上面的两个相邻数的和,所以我一半用“伪动态规划”,利用Python的插入语法,从第三层开始由前面的层来递推。

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]]
        for i in range(2,numRows):  #之后的情况由前面递推
            result.append([1,1])
            for j in range(i-1):
                result[i].insert(j+1,result[i-1][j]+result[i-1][j+1])
                #这个表达式只要稍微找一下关系即可
        return result

 

用c语言的话可能就要纯动态规划了,明天再写吧。

标签:return,int,List,numRows,range,result,杨辉三角,LeetCode,刷题
来源: https://blog.csdn.net/qq_61653333/article/details/122747043