binary search

binary search

binary search time complexity = O(logn)

the question usually give you a sorted array and then find a target(index) in the value:
the biggest number which less than and euqall to 5

index value description
0 1
1 2 the biggest index which less than 3 (小于3的是这些 2是最大的index了)
2 3 the smallet index which bigger and equal than 3
3 3 any index which equal to 3
4 3 biggest index which less than and equal to 3
5 5 the smallest index which bigger than 3
6 7
7 9
8 10

** the times of appearing 3 = the smallest index of bigger than 3 - the biggest index of less than 3**

Exponential backoff (倍增法)

sorted by non-decreasing array + big array + target value;

  • 1.首先在非常大的数组中得到一个稳定的长度
    range=1; getValue(n*2-1) 因为index是 range的数值-1,
  • 2 。
posted @ 2022-07-19 20:36  奋斗中的菲比  阅读(24)  评论(0编辑  收藏  举报