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