【发布时间】:2019-02-01 23:52:34
【问题描述】:
我的朋友在测试中遇到了一个问题,问题是:
你会得到一个未排序的数组,其中整数值是对的,1 个值是单个的,例如:
[1,1,5,5,2,2,4,4,7,12,12,8,8]输出为:
7
现在我知道二分查找可以用 O(log n) 来完成,但是需要对数组进行排序。
那么如何在 O(log n) 在这个未排序的数组上完成呢?
【问题讨论】:
-
关闭的原因很可笑。
-
值总是成对的吗?
-
@Satpal:查看示例。
-
是搜索任何整数值还是只搜索没有“另一半”的孤独数字?
-
“我知道二进制搜索可以用 O(log n) 来完成,但数组需要排序”:恐怕这句话是错误的,对元素进行排序无助于找到单例.
标签: arrays algorithm search big-o