#3955. [GESP202403 七级 C++] 第 12 题

[GESP202403 七级 C++] 第 12 题

下面 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;
}

{{ select(1) }}

  • O(n)O(n)
  • O(log(n))O(\log(n))
  • O(1)O(1)
  • 可能无法返回