在java中替换更高维的矩阵元素

edi*_*233 0 java file matrix

我在矩阵中有替换元素的问题.我在.txt文件中有一个矩阵3x3.我需要像这样替换矩阵元素:最后一个元素应该是第一个,倒数第二个应该是第二个,等等.有任何想法吗?

jay*_*100 5

请记住:您总是可以将更高维度的数据投影到更低维度的数据上!一旦你意识到这一点,你可以轻松地使用该算法来反转一维阵列来反转二维阵列.

步骤 :

1)将2D阵列转换为1D阵列.2)反转1D阵列3)将1D阵列反转内容写入新的2D阵列.

虽然这对于简单的3x3情况来说太过分了,但它很容易扩展以支持更复杂的数组类型.

实施:

这个比较简单.通过简单地索引和映射数组索引,可以将任何2D矩阵表示为1D矩阵.例如 :

[1 2 ; 3 4] 
Run Code Online (Sandbox Code Playgroud)

可以表达为

int rowLength=2;
int[]data = [1, 2, 3, 4];
Run Code Online (Sandbox Code Playgroud)

因此,您必须编写从2D数组到1D数组的映射,并且您必须编写如下方法:

int[] mapTo1DMatrix(int[][] array)
{
    final int elementsPerRow  = array[0].length; // find out the elements in a row, where all rows are same length. 

    for(int arrayRow =0; arrayRow < array.length; arrayRow++)
       for(int col =0; col < elementsPerRow; col ++)
            myOneD[i+arrayRow] = array[arrayRow,col];     

}
Run Code Online (Sandbox Code Playgroud)