gpt4 book ai didi

java - 为坐标对的二维数组返回一维数组的整数索引

转载 作者:行者123 更新时间:2023-11-30 10:31:48 27 4
gpt4 key购买 nike

在阅读了 10 多个关于将整个数组从二维转换为一维以及反之的线程后,我想知道是否有一个数学公式,不需要迭代来返回一对的索引位置排序的二维数组的整数。

我的“网格”始终是正方形,可以是任意大小(在本例中为 3x3),并且我有一个排序的人类友好值 block ,我需要从中检索我所谓的“真正的一维索引” “像这样:

"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,等等……

我玩过六个方程式,尝试将坐标添加到前一行索引的平方,但我永远无法为网格中的每个单元格获得正确的结果。我缺少一些特殊的运算符或数学函数吗?

谢谢。

最佳答案

让矩阵为 3*3,3 行和 3 列,我们必须找到 (i,j) 的索引,然后公式将是。指数= 3*(i-1)+j;

注意:- 这里的 3*3 和 i,j 不是 java 二维数组格式,而是人类友好的坐标。

示例 (i,j)=(2,3)指数=3*(2-1)+3 =6由于您的索引从 0 开始,您可以简单地从 6 中减去 1,即 5。

关于java - 为坐标对的二维数组返回一维数组的整数索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42991149/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com