首页 > 其他 > 详细

杨辉三角

时间:2019-05-05 12:41:17      阅读:119      评论:0      收藏:0      [点我收藏+]

给定一个非负整数 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% 的用户
 
 

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

杨辉三角

原文:https://www.cnblogs.com/dmndxld/p/10812254.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!