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

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

【新手上路】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语言的话可能就要纯动态规划了,明天再写吧。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5718962.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-18
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存