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