我有许多长度相同的整数向量。它们可以包含任何已签名的int16。 我需要为每个向量创建一个唯一的数字,但具有相同内容的向量必须给予相同的数字。 例如,以下载体:
[1, 2, 3, 4]
[1, 2, 3, 4]
[6, 2, 4, 1]
可能会被分配数字2,2和4。
也是订单计数。所以载体
[1, 2, 3, 4]
[2, 1, 4, 3]
应该得到不同的价值。
有没有可靠的方法来计算这样一组矢量的单个数字?
总结价值必须:
这样做的全部目的是我对另一种索引不同向量的方法感兴趣,例如将它们全部添加到一组或类似的东西中。
答案 0 :(得分:0)
为了保证完美的独特性,您必须从每个数字中组成大量数字。鉴于您指定允许签名的int16值,您将获得以下64位散列键:
[n1, n2, n3, n4] => n1 + n2*2^16 + n3*2^32 + n4*2^48