一个无限长数组,前面是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, 然后同样进行二分查找。
一个无限长数组,前面是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, 然后同样进行二分查找。