按行和列对矩阵排序

时间:2018-10-02 19:31:11

标签: algorithm

该解决方案在Geeksforgeeks上可用,但概念尚不清楚。 如果我先对所有行进行排序,然后对列进行排序,反之亦然。该方法似乎适用于一些测试用例。我想知道是否有人可以提出一个失败的测试用例。

给定一个矩阵,目标是按行和列对矩阵进行排序,以便在两个方向上都保持递增顺序。

例如:

enter code here
Input : mat[][] ={4, 1, 3}
                {9, 6, 8}
                {5, 2, 7}
Output : 1 3 4
         2 5 7
         6 8 9

有关更多参考,请参考此链接 https://www.geeksforgeeks.org/sort-matrix-row-wise-column-wise/

1 个答案:

答案 0 :(得分:2)

您是对的,问题是不确定的。该解决方案不是唯一的,并且对第一行和第二列进行排序不会得到与对第一列和第二行进行排序相同的结果。

Columns, Rows
4 8 2      3 1 2      1 2 3
7 6 9  ->  4 6 5  ->  4 5 6
3 1 5      7 8 9      7 8 9

Rows, Columns
4 8 2      2 4 8      1 3 5
7 6 9  ->  6 7 9  ->  2 4 8
3 1 5      1 3 5      6 7 9

请注意,两种结果如何“按行和列排序”,即,同一行中的所有项目都进行了排序,而同一列中的所有项目都进行了排序。

值得注意的是,并非所有解决方案都可以通过以下方式进行排序,例如:

1 4 7
2 5 8
3 6 9