【发布时间】:2015-05-11 11:37:06
【问题描述】:
现在我有一些整数集,比如说:
set1 = {int1, int2, int3};
set2 = {int2, int3, int1};
set3 = {int1, int4, int2};
不考虑顺序或数字,所以set1和set2是一样的,而set3和其他两个不一样。
现在我想为这些集合生成一个唯一的密钥来区分它们,这样,set1 和 set2 应该生成相同的密钥。
我想了一会儿,我想到了总结整数的想法,但很容易证明是错误的。对集合进行排序并执行
key = n1 + n2*2^16 + n3*2^32
可能是一种可能的方法,但我想知道这是否可以更优雅地解决。 键可以是整数或字符串。
所以有人对尽快解决这个问题有一些想法吗?或者欢迎任何阅读材料。
更多信息: 这些数字实际上是颜色,所以每个整数都小于 0xffffff
【问题讨论】:
标签: algorithm hash numbers integer set