所以,我需要一个python函数来计算二进制数,这些二进制数是用二进制语言写成的,但是长度是固定的。例如,如果n = 8是二进制长度,那么:
a = 0011 0110
b = 0101 1111
--------------
c = 1001 0110 -> 4应该得到4的结果。C上的每个0都是非重合的,而每个1表示重合。当c有4的时候,结果是4。
我需要它是尽可能快的。
发布于 2018-10-20 13:51:57
这是我认为非常有效的最后一个解决办法:
bin(a ^ b)[2:].zfill(n).count("0")解释逻辑是使用xor来获得巧合的数量。使用XOR,我实际上得到了问题中所做的例子的反面,因为巧合意味着0,而非重合意味着1。因此,我不得不否定它,但在此之前,我应该确定n的大小,因为答案实际上是110 1001,所以我将得到一个3而不是4的响应。
https://stackoverflow.com/questions/52906396
复制相似问题