给定一个包含N个元素的数组.我们知道其中一个元素至少重复N/2次.
我们对其他元素一无所知.它们可能重复或可能是唯一的.
有没有办法找出在一次通过中重复至少N/2次的元素,或者可能是O(N)?
没有额外的空间可供使用.
有人能想到用于确定元素列表中的多数元素的线性时间算法吗?算法应该使用O(1)空间.
如果n是列表的大小,则多数元素是至少出现一次的元素ceil(n / 2).
[Input] 1, 2, 1, 1, 3, 2
[Output] 1
Run Code Online (Sandbox Code Playgroud)
[编者注]这个问题存在技术错误.我宁愿离开它,以免破坏接受的答案的措辞,纠正错误并讨论原因.请检查接受的答案.