给定的是一个整数数组。数组中的每个数字重复奇数次,但仅重复1次。找到那个号码。
我在考虑一个散列图,其中包含每个元素的计数。它需要O(n)空间。有没有更好的办法?
哈希映射很好,但是您需要存储的只是每个元素的计数模2。除0(偶数)个元素外,所有这些最终都将为1(奇数)。
(正如Aleks G所说的那样,您不需要使用算术(count++ %2),只需使用xor(count ^= 0x1);尽管任何编译器都会对其进行优化。)
count++ %2
count ^= 0x1