-1 -3 -2 -3 -2 -1
2 3 -2 -2 2 3
5 7 4 4 5 7
(Orignal) (Sorted)
我可以仅基于行OR列对矩阵进行排序。 但考虑到列和行,我无法获得排序矩阵的最佳解决方案。
有任何建议如何实现这一目标?
答案 0 :(得分:0)
您可以将任何2D数组转换为1D数组,并且这些数组很容易排序。
您不必实际更改2D数组,只需使用索引:
let videoUrl = Bundle.main.url(forResource: "videos/video", withExtension: "mp4")!
let videoPlayer = AVPlayer(url: videoUrl)
答案 1 :(得分:0)
使用这两个功能:
public static void sortRows(int[][] matrix){
for (int i = 0; i < matrix.length; i++) {
Arrays.sort(matrix[i]);
}
}
public static void transpose(int[][] matrix){
for (int i = 0; i < matrix.length; i++) {
for (int j = i; j < matrix[0].length; j++) {
int tmp1 = matrix[i][j];
int tmp2 = matrix[j][i];
matrix[j][i] = tmp1;
matrix[i][j] = tmp2;
}
}
}
您可以对行进行排序,转置矩阵,再次对行进行排序(转置列)并将其转置回来:
int[][] matrix = {{-1, -3, -2}, {2, 3, -2}, {5, 7, -4}};
sortRows(matrix);
transpose(matrix);
sortRows(matrix);
transpose(matrix);