public class Binary_Search{
public static void main(String[] args) {
System.out.println(binarySearch(new int[]{1, 3, 5, 6, 7, 9}, 6));
}
public static int binarySearch(int[] arr, int target) {
int left = 0, right = arr.length;
while (left <= right) {
int mid = left + (right - left) / 2; // 防止越界
if (arr[mid] == target) {
// 如果数组中有多个target
while (mid != 0 && arr[mid - 1] == arr[mid]) {
mid--;
}
return mid;
} else if (arr[mid] > target) {
right = mid - 1;
} else {
left = mid + 1;
}
}
return -1;
}
}



