1
/**
2
* @param {number[][]} mat
3
* @return {number[][]}
4
*/
5
var diagonalSort = function (mat) {
6
const res = new Array(mat.length);
7

8
for (let i = 0; i < mat.length; i++) res[i] = new Array(mat[i].length);
9

10
for (let i = 0; i < mat.length; i++) {
11
for (let j = 0; j < mat[i].length; j++) {
12
if (i === 0 || j === 0) {
13
const scale = i - j;
14
let val = [],
15
index = [];
16

17
for (let i = 0; i < mat.length; i++) {
18
for (let j = 0; j < mat[i].length; j++) {
19
if (scale === i - j) {
20
val.push(mat[i][j]);
21
index.push([i, j]);
22
}
23
}
24
}
25
val = val.sort((a, b) => a - b);
26
index.forEach(([x, y], id) => (res[x][y] = val[id]));
27
}
28
}
29
}
30
return res;
31
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0