美文网首页
118. Pascal's Triangle 杨辉三角

118. Pascal's Triangle 杨辉三角

作者: singed | 来源:发表于2018-08-29 22:30 被阅读0次

链接

https://leetcode-cn.com/problems/pascals-triangle/description/

要求

给定一个含有 M x N 个元素的矩阵(M行,N列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。


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

思路

用列表解析式拆分列表后求和

numRows = [1, 2, 3, 4, 5, 6, 7, 8]
numRows_list = [numRows[x:x+2] for x in range(0, len(numRows))]
print(numRows_list)

# print结果
[[1, 2], [2, 3], [3, 4], [4, 5], [5, 6], [6, 7], [7, 8], [8]]

代码

执行用时:28 ms

class Solution:
    def generate(self, numRows):
        numRows_output = []
        while numRows:
            numRows -= 1
            if numRows_output:
                numRows_list = [1] + [sum(numRows_output[-1][x:x + 2]) for x in range(0, len(numRows_output[-1]))]
                numRows_output.append(numRows_list)
            else:
                numRows_output.append([1])
        return numRows_output

相关文章

网友评论

      本文标题:118. Pascal's Triangle 杨辉三角

      本文链接:https://www.haomeiwen.com/subject/adrlwftx.html