【发布时间】:2023-03-19 09:46:01
【问题描述】:
有一个整数数组,他的长度是n。在他的一半以上的元素中有一个未知的常量k。
你不能改变数组(他是read-only),你只有O(1)大小的内存。
你需要找到最复杂的k(你认为你可以得到低于O(n)?)
示例:
{1, 6, 44, 1, 1, 8, 1} so k = 1
我想过使用中位数,但我不允许更改数组...
谢谢
【问题讨论】:
-
低于 O(n) 会很困难,因为最坏的情况是你需要检查每个元素。