【发布时间】:2010-12-21 03:25:48
【问题描述】:
我在一次采访中被要求给出一个 O(n) 算法来打印一个在数组中出现超过 n/2 次的元素,如果存在这样的元素。 n 是数组的大小。 我不知道如何做到这一点。有人可以帮忙吗?
【问题讨论】:
-
您可以在扫描数组时只使用哈希并计算元素的数量吗?
-
不确定。我认为应该有一个更简单优雅的解决方案。
-
哦。你没有要求最优雅,只是 O(n)
-
@Samuel:这不是暗示吗?你本可以做得更糟;)
-
@sje397 好吧,听起来 OP 不知道如何在 O(n) 中做到这一点,或者不清楚这意味着什么,当“elagance”或涉及“最有效”:D
标签: c++