dmndxld

码不停题

杨辉三角

给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。

思路:先分情况。然后迭代。。以后一定用一下递归

示例:

输入: 5
输出:
[
     [1],
    [1,1],
   [1,2,1],
  [1,3,3,1],
 [1,4,6,4,1]
]

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        n=numRows
        if(n==0):
            return []
        elif(n==1):
            return [[1]]
        elif(n==2):
            return [[1],[1,1]]
        else:
            r=[[1],[1,1]]
            e=3
            d=0
            for _ in range(3,n+1):
                b=[1]
                for a in range(e-2):
                    c=r[d+1][a]+r[d+1][a+1]
                    b.append(c)
                b.append(1)
                r.append(b)
                e=e+1
                d=d+1
            return r

 

执行用时 : 92 ms, 在Pascal's Triangle的Python3提交中击败了6.40% 的用户
内存消耗 : 13 MB, 在Pascal's Triangle的Python3提交中击败了93.73% 的用户
 
 

这里没有什么坑。。注意用的变量。。可以避免越界情况。

posted on 2019-05-05 12:03  imyourterminal  阅读(122)  评论(0编辑  收藏  举报

导航