[2021][01] Sort the Matrix Diagonally
問題情報
問題の概要
マトリクスが与えられた場合、対角線方向の昇順で正のマトリクスを返す問題.
こうそくじょうけん
方法
最初に問題を見たときは、少し複雑に感じるかもしれませんが、ソートを開始した位置0行である可能性があります.0列の位置(行、列)配列に格納され、列
class Solution:
def diagonalSort(self, mat: List[List[int]]) -> List[List[int]]:
rows = len(mat)
cols = len(mat[0])
answers = [[0 for _ in range(cols)] for _ in range(rows)]
start_points = [(0, x) for x in range(cols)]
for row in range(1, rows):
start_points.append((row, 0))
for start_point in start_points:
row, col = start_point
points = []
values = []
while row < rows and col < cols:
points.append((row, col))
values.append(mat[row][col])
row += 1
col += 1
values.sort()
for idx, point in enumerate(points):
answers[point[0]][point[1]] = values[idx]
return answers
Reference
この問題について([2021][01] Sort the Matrix Diagonally), 我々は、より多くの情報をここで見つけました https://velog.io/@papayetoo/202101-Sort-the-Matrix-Diagonallyテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol