无限长有序数组查找 阿里妈妈

一个无限长数组,前面是0,后面是1。统计0的个数。

O(n)方法:
从头往后遍历,因为最多只需要遍历n次,所以时间复杂度为O(n)

O(n/a + loga)方法:
a为index的step,也就是index每次跳a步,最后在index-a,index区间进行二分查找。

O(logn)方法:
按照2的指数进行跳跃,比如当前index=0,下次跳到1;当前为9,下次跳到 2 * (9+1) -1, 然后同样进行二分查找。

发布了557 篇原创文章 · 获赞 500 · 访问量 153万+

猜你喜欢

转载自blog.csdn.net/qq_16234613/article/details/100766515