这是#34;编程采访元素的问题"。我看到此问题已发布here但已接受的答案(或其他答案)未完成。
使用适用于基础3系统的XOR操作(在帖子中称为xor3
),您将获得x xor3 x
的结果。但问题是获得x
。 xor3
被定义为加法模3(其中数字在基数3系统中表示)
我们如何从x
中获取x xor3 x
部分?
答案 0 :(得分:1)
如果再次浏览一系列数字怎么办?让我们说第一次迭代后的值是a = x xor3 x
遍历数组中的所有条目,并使用xor3
a
每个值。
for y in arr:
if y xor3 a == 0:
print y
break
else
continue
目前我认为这是天真的解决方案。这仍然是O(n),将每个xor3
视为具有O(1)内存的O(1)。