如何确定集合中是否包含二进制数,并且集合中的某个元素可能不关心位?
我曾考虑过使用哈希表,但是为了覆盖所有可能性,有必要将哈希表中的数字与无关位重复。

例如:
一组数字是:

   0  00x1
   1  10xx
   2  110x
   3  1010
   4  11x1
   5  0010

且数字为0011,结果应为0。

最佳答案

如果二进制数的位数受到限制,则可以复制那些无关位,并将二进制数转换为整数,然后将这些整数用作映射的键​​,将其他整数用作值。


0 00x1
1 10xx

可以转换成

0001 0
0011 0
1000 1
1001 1
1010 1
1011 1

并另存为


1 0
3 0
8 1
9 1
10 1
11 1

其中i是键,j是值

关于data-structures - 用无关位散列二进制数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41576081/

10-13 09:09