![](/img/trans.png)
[英]How to convert n*1 array into n*m array where m is unique values in the array?
[英]Convert Index of N*M*K array to N, M and K values?
假设我有一个3*3*3
3D阵列
如果我在数组的位置[1,1,1]
上有一个元素,我可以通过1*3*3 + 1*3 + 1 = 13
找到索引
但是我需要做相反的事情 。 我需要将13
转换为[1,1,1]
。 我怎么做?
使用模运算 :
13 / 3 / 3 == 1 // 1st index
13 / 3 % 3 == 1 // 2nd index
13 % 3 == 1 // 3d index
其中/
是整数除法 , %
是余数 。
编辑:让我们概括为
# you have M = N = K = 3
[M, N, K] array
和任意value
(在您的情况下为13
)
M-th index = value / K / N # % M can be dropped
N-th index = value / K % N
K-th index = value % K
万一mD
阵列
[N1, N2, ..., Ni, ..., Nm]
我们有
i-th index = value / Nm / Nm-1 / ... / Ni+1 % Ni
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.