When I was interviewed before, I was confused when I was asked. When I was in school, I learned algorithms. After I came out to work, I didn't write it. This interview is a reminder for me, so let's learn algorithms. .
binary search
In simple terms, it is an ordered sequence of numbers, each time the middle is compared.
Therefore, the algorithm is as follows:
public static int binarySearch2 (int [] arrays, int key) {
int length = arrays.length;
int mid;
int start = 0;
int end = length - 1;
while (start <= end) {
mid = (end - start) / 2 + start;
if (key < arrays[mid]) {
end = mid - 1;
} else if (key > arrays[mid]) {
start = mid + 1;
} else {
return mid;
}
}
return -1;
}
Code: BinarySearch.java