为了账号安全,请及时绑定邮箱和手机立即绑定

关于方阵转置的问题

关于方阵转置的问题

阿波罗的战车 2023-08-23 11:38:39
我有一个简单的问题,我已经多次尝试白板但仍然无法理解。为什么对于内部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 开始。


查看完整回答
反对 回复 2023-08-23
  • 1 回答
  • 0 关注
  • 89 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信