【发布时间】:2011-07-24 11:23:28
【问题描述】:
可能重复:
Interview question - Search in sorted array X for index i such that X[i] = i
给你一个排序的整数数组和数组的长度。现在你必须找到一个索引i,这样a(i)=i。
如果给出索引,我可以在 o(logn) 中执行此操作,但如果未提及索引 i 怎么办?
【问题讨论】:
-
如果给定我,我可以在恒定时间内完成 :)
-
我已经使用修改后的二进制搜索完成了,您的解决方案...
-
@prp 你是如何在 O(log n) 时间内对数组进行排序的?
-
mid = (low+high)/2 if [ a[mid]=mid ] 然后返回 mid FindIndex_Value(array,low,mid-1) FindIndex_Value(array,mid+1,high)
-
@paxdiablo & david 数组已经排序...:)