阅读了10多个有关将整个二维数组转换为一维数组和反之的线程后,我想知道是否有一个数学公式,不需要迭代,就可以返回已排序的二维数组中一对整数的索引位置。
我的“网格”总是正方形的,可以是任何大小(在此示例中为3x3),我有一个人性化值的排序块,需要从中检索我所称的“真实1D索引”,如下所示:
我的“网格”总是正方形的,可以是任何大小(在此示例中为3x3),我有一个人性化值的排序块,需要从中检索我所称的“真实1D索引”,如下所示:
"Human-friendly" coordinates| Java 2D Indices | True 1D indices
[1,1],[1,2],[1,3], ==> [0,0],[0,1],[0,2], ==> 0 , 1 , 2
[2,1],[2,2],[2,3], ==> [1,0],[1,1],[1,2], ==> 3 , 4 , 5
[3,1],[3,2],[3,3], ==> [2,0],[2,1],[2,2], ==> 6 , 7 , 8
我需要一个方法使我的类能够给我以下结果:
我输入1,1,然后得到0, 我输入3,2,然后得到7, 我输入2,3,然后得到5, 等等...
我尝试过半打方程式,比如将坐标加上前一行索引的平方,但我无法为网格中的每个单元格获得正确的结果。我是否缺少某些特殊运算符或Math函数?
谢谢。