public class BinarySearch {
public static void main(String[] args) {
int[] arr = {
1,
3,
5,
6,
7,
8,
11,
13,
14,
15,
16,
17,
20
};
System.out.println(binarySearch(arr, 14));
}
public static int binarySearch(int[] arr, int i) {
if (arr.length == 0) return -1;
int startPos = 0;
int endPos = arr.length - 1;
int m = (startPos + endPos) / 2;
while (startPos <= endPos) {
if (arr[m] == i) return m;
if (arr[m] > i) {
endPos = m - 1;
} else if (arr[m] < i) {
startPos = m + 1;
}
m = (startPos + endPos) / 2;
}
return -1;
}
}