我有一個簡單的問題,我已經多次嘗試白板但仍然無法理解。為什么對于內部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 回答

哈士奇WWW
TA貢獻1799條經驗 獲得超6個贊
您只需交換矩陣的上三角形或下三角形一次。
1 2 3
4 5 6
7 8 9
你考慮 2、3、6 并分別與 4、7、8 交換。對角線不需要交換。因此你并不總是從 0 開始。
添加回答
舉報
0/150
提交
取消