链接
https://leetcode-cn.com/problems/pascals-triangle/description/
要求
给定一个含有 M x N 个元素的矩阵(M行,N列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。
![](https://img.haomeiwen.com/i13597781/ca32da6eb74ca0bb.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
网友评论