int binarySearch(int[] array, int key) { int left = 0, right = array.length - 1; while (left <= right) { int mid = left + (right - left) / 2; if (array[mid] == key) return mid; if (array[mid] < key) left = mid + 1; else right = mid - 1; } return -1; }