public class Find01 {
// 二分查找
public static int binarySearch(int[] arr, int num) {
int star = 0;
int end = arr.length - 1;
while (star <= end) {
int middle = (star + end) / 2;
if (arr[middle] > num) {
end = middle - 1;
} else if (arr[middle] < num) {
star = middle + 1;
} else {
return middle;
}
}
return -1;
}
public static void main(String[] args) {
int[] arr = { 1, 8, 23, 3, 56, 4 };
Arrays.sort(arr);
System.out.println(Arrays.toString(arr));
int indxe = binarySearch(arr, 35);
System.out.println(indxe);
}
}
本文介绍了一种在有序数组中查找特定元素的高效算法——二分查找。通过不断将搜索区间减半,该算法能够在O(log n)的时间复杂度内找到目标值。代码示例使用Java实现,并展示了如何在数组中查找指定数字。
969

被折叠的 条评论
为什么被折叠?



