/* 时间复杂度最好:O(1) 时间复杂度最坏:O(logN) 空间复杂度:O(1) */ int binarySearch(int arr[], int n, int key) { int low = 0; int high = n - 1; int ret = -1; int mid; while (low < high) { mid = (low + high) / 2; if (arr[mid] > key) { high = mid - 1; } else if (arr[mid] < key) { low = mid + 1; } else { ret = mid; break; } } return ret; }