1/**2* @param {number[][]} mat3* @return {number[][]}4*/5var diagonalSort = function (mat) {6const res = new Array(mat.length);78for (let i = 0; i < mat.length; i++) res[i] = new Array(mat[i].length);910for (let i = 0; i < mat.length; i++) {11for (let j = 0; j < mat[i].length; j++) {12if (i === 0 || j === 0) {13const scale = i - j;14let val = [],15index = [];1617for (let i = 0; i < mat.length; i++) {18for (let j = 0; j < mat[i].length; j++) {19if (scale === i - j) {20val.push(mat[i][j]);21index.push([i, j]);22}23}24}25val = val.sort((a, b) => a - b);26index.forEach(([x, y], id) => (res[x][y] = val[id]));27}28}29}30return res;31};