// right to left for (intj= n - 1; j >= 0; j--) { numList.clear();
for (intx=0, y = j; x < m && y < n; x++, y++) { numList.add(mat[x][y]); } Collections.sort(numList); for (intx=0, y = j, k = 0; x < m && y < n; x++, y++, k++) { mat[x][y] = numList.get(k); } }
// top to bottom for (inti=1; i < m; i++) { numList.clear();
for (intx= i, y = 0; x < m && y < n; x++, y++) { numList.add(mat[x][y]); } Collections.sort(numList); for (intx= i, y = 0, k = 0; x < m && y < n; x++, y++, k++) { mat[x][y] = numList.get(k); } }