在排序的无限二进制数组中第一次出现1

时间:2013-01-06 10:45:31

标签: sorting search

对于有限大小的数组,我们可以使用二进制搜索在O(log(n))时间内得到解。

如果我们有一个具有常量时间查找索引的无限数组,如果我们知道数组已经排序,我们可以多快找到第一次出现的1?

1 个答案:

答案 0 :(得分:1)

上述问题是什么?你对无限阵列的操作是什么? O(1)查找?也许最好的方法是迭代到某个n的索引2 ^ n的第一次出现1,然后进行二进制搜索。然后你可以保证在O(log(n))中找到它,其中n是第一个索引的位置。

编辑:Ps。如果数组确实是无限的且仅包含零,则无法保证终止。