第21540题
给定如下C++实现的search函数,其平均时间复杂度为?
int search(int n, int * p, int target) {
  int low = 0, high = n;
  while (low <= high) {
    int middle = (low + high) / 2;
    if (target == p[middle]) {
      return middle;
    } else if (target > p[middle]) {
      low = middle + 1;
    } else {
      high = middle - 1;
    }
  }
  return -1;
}
A

O(n)

B

O(log(n))

C

O(1)

D

可能无法返回

提交0次 正确率0.00%
答案解析