Вопрос о транспонировании квадратной матрицы - PullRequest
0 голосов
/ 25 сентября 2019

У меня есть простой вопрос, который я пробовал несколько раз доской, но до сих пор не понимаю.Что касается внутреннего цикла for, мы должны установить column = row + 1;У меня сложилось впечатление, что вы должны инициализировать column = 0, а затем просто поменять строку на столбцы и столбцы на строки для транспонирования матрицы, но я продолжаю проваливать тестовые случаи.Спасибо


public static void transposeMatrix(int[][] matrix) {

    for (int row = 0; row < matrix.length; row++)
    {
        for (int column = row + 1 ; column < matrix.length; column++)
        {

            int temp = matrix[row][column];
            matrix[row][column] = matrix[column][row];
            matrix[column][row] = temp;

        }
    }

}

1 Ответ

1 голос
/ 25 сентября 2019

Вам нужно поменять местами только верхний или нижний треугольник матрицы.

1 2 3
4 5 6
7 8 9

Вы считаете 2, 3, 6 и меняете его на 4, 7, 8 соответственно.Диагональ не нужно менять местами.Следовательно, вы не всегда начинаете с 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...