Design an algorithm to sort a given m x n matrix such that aach row of the matrix is sorted in ascending order. The last element of any row i is less than or equal to the first element of the next row i+1.
To sort a matrix in strict order, we merge all entries of the matrix into a single array. Sort the array, and then split the array back to n x m matrix.
matrix = [ [ 1, 4, 7 ], [ 2, 5, 8 ], [ 3, 6, 9 ] ] output = [] h = len(matrix) w = len(matrix[0]) ls = [] for y in matrix: ls += y ls.sort() for i in range(h): output.append(ls[i * w:i * w + w]) print(output)
const matrix = [ [ 1, 4, 7 ], [ 2, 5, 8 ], [ 3, 6, 9 ] ]; const output = []; const h = matrix.length; const w = matrix[0].length; const list = matrix.reduce((cum, i) => { return [...cum, ...i]; }, []); list.sort(); for (let i = 0; i < h; i++) { output.push(list.slice(i * w, i * w + w )); } console.log(output);