一尘不染

找到一个即使没有重复的次数,而其他所有数字都重复奇次的次数

algorithm

给定的是一个整数数组。数组中的每个数字重复奇数次,但仅重复1次。找到那个号码。

我在考虑一个散列图,其中包含每个元素的计数。它需要O(n)空间。有没有更好的办法?


阅读 199

收藏
2020-07-28

共1个答案

一尘不染

哈希映射很好,但是您需要存储的只是每个元素的计数模2。除0(偶数)个元素外,所有这些最终都将为1(奇数)。

(正如Aleks G所说的那样,您不需要使用算术(count++ %2),只需使用xor(count ^= 0x1);尽管任何编译器都会对其进行优化。)

2020-07-28