我遇到以下问题:
“查找数组中发生奇数次的所有元素”。
我对此的想法是:
使用HashMap
:将数组中的值添加为HashMap中的键。与每个键对应的值将是遇到该键的次数。
使用O(N log N)中的快速排序对数组进行排序,然后遍历数组以检查哪些元素出现奇数次。
您如何看待,还有其他方法吗?如果否,那么这两种方法中哪个更好?
提前致谢!
“更好”取决于上下文。使用哈希映射或哈希集将更快,并且具有不修改原始数组的优点,但是需要O(N)额外的内存。排序和计数需要更长的时间并修改数组,但不需要额外的内存。
选择哪种解决方案取决于您是否负担得起额外的内存。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句