バイナリナビゲーション


簡単なアルゴリズムなのであまり気になりませんが、ソフトウェアテストに時間がかかりすぎたので記録します.
int binarySearch(int[] arr, target) {
	int start = 0;
	int end = arr.length;
	while(start <= end) {
		int mid = (start + end) / 2;
		if (arr[mid] == target) {
			return mid;
		} else if (arr[mid] < target) {
			start = mid + 1;
		} else {
			end = mid - 1;
		}
	}
	return -1;
}