繁体   English   中英

贪婪的方法是什么?

[英]What is the greedy approach for this?

我们有一个由n数字组成的数组,除一个数字外,所有其他数字在该数组中均被重复了偶数次。 我们想找到重复次数为奇数的数字。

我认为最佳算法的时间复杂度比O( n Log(n) )因为我们可以对数组进行排序然后对其进行迭代,并且每当我们看到一个新的数字时,我们都会增加一个累加器,当我们再次看到它时,我们会减少累加器最后,累加器不为零的每个成员都重复了奇数次。

我也认为它没有比O(n)更好的算法,因为如果有,那么它必须是O( Log(n) ) ,为此,我们需要一个排序数组,但我们的初始数组不是。

如果数字是整数,则可以对数组中的所有值进行异或。 结果是重复的次数是奇数次(这是正确的,因为x xor x = 0对于任何x )。 该算法的复杂度显然是O(n)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM