Ich hatte die Gelegenheit, eine 2-minütige Suche zu schreiben, also werde ich sie als Memo schreiben.
Die 2-minütige Suche ist nur ein Algorithmus, der sucht und dabei den Bereich des gesamten Arrays um die Hälfte einschränkt. Schnell.
Sample.java
int algorithm(int[] data, int target) {
int retrieve = -1;
int left = 0;
int right = data.length - 1;
while(left < right){
int mid = (left + right)/ 2;
if(data[mid] == target){
return mid + 1;
}else if(target < data[mid]){
return right = mid;
}else {
return left = mid + 1;
}
}
return retrieve;
}
Recommended Posts