Java 在二维数组中查找节点位置

Java 在二维数组中查找节点位置,java,algorithm,Java,Algorithm,有人能帮我解决这个问题吗 有一个二维数组,其中每个单元格都包含它的占位符,意思是(0,0)包含0(0,1)包含1,依此类推……因此,如果我们给出占位符,那么我们如何计算行和列。示例:以4X4矩阵为例。因此,配置是: 01 2 3 4 5 6 7 8 9 10 11 12 13 14 15 现在,以10为例,它是第(2,2)位。那么,我们如何确定这一点呢? 我已经有了一个算法,我从10中减去2*4(因为4是数组的大小),2给我行,2给我列。因此,它就像: 列=给定节点-(行*n),其中n是nXn数

有人能帮我解决这个问题吗

有一个二维数组,其中每个单元格都包含它的占位符,意思是(0,0)包含0(0,1)包含1,依此类推……因此,如果我们给出占位符,那么我们如何计算行和列。示例:以4X4矩阵为例。因此,配置是:

01 2 3 4 5 6 7 8 9 10 11 12 13 14 15

现在,以10为例,它是第(2,2)位。那么,我们如何确定这一点呢? 我已经有了一个算法,我从10中减去2*4(因为4是数组的大小),2给我行,2给我列。因此,它就像:

列=给定节点-(行*n),其中n是nXn数组的大小,行是0,1,2,。。 但我需要一个更好的算法。至少时间复杂度应该更低。请程序员提出建议

p、 S:我是在设计蒙特卡罗模拟的解决方案时遇到这个问题的

row = node / n (integer division, for example 9/4 = 2)
column = node % n (modolus operator)
上述是指
n*n
矩阵,对于具有
n
行和
m
列的矩阵的一般情况:

row = node / m
column = node % m

如果矩阵行宽度为
RowWidth
然后:

(Num/4,Num%4)可能就是您要找的


编辑:其中4是行数或列数,在本例中两者都是4。

要确定列表中元素的二维坐标,应使用以下值(行表示行大小):

例如: 10 / 4 = 2, 10%4=2


希望这有帮助

谢谢@amit的帮助。
row=floor(x/RowWidth)
col=x % RowWidth
int r = index / ROW;
int c = index % ROW;