需要帮助找出使用 Big-O 表示法的该算法的时间复杂度。干杯。
int binarySearch(int[] array, int key) {
int lo = 0, mid, hi = array.length-1;
while (lo <= hi) {
mid = (lo + hi)/2;
if (key < array[mid])
hi = mid - 1;
else if (array[mid] < key)
lo = mid + 1;
else return mid; // success
}
return -1; // failure
}