«

Java 二分查找实现实战详解

时间:2026-11-2 08:29     作者:emer     分类: 无


从一个真实场景说起:二分查找实现

刚接触Java的时候,二分查找实现曾让我困惑了好一阵子。现在回头看,当初的困惑大多源于没有找到好的切入点。希望本文能成为那个切入点。

二分查找实现实战要点拆解

在进入代码之前,先把二分查找实现的思路理清楚。

二分查找实现实战代码

二分查找实现:

public static int binarySearch(int[] arr, int target) {
    int lo = 0, hi = arr.length - 1;   // 前提:数组必须有序
    while (lo <= hi) {
        int mid = lo + (hi - lo) / 2;  // 防溢出的写法
        if (arr[mid] == target) return mid;
        else if (arr[mid] < target) lo = mid + 1;
        else hi = mid - 1;
    }
    return -1;   // 未找到
}

// 标准库也有现成的:Arrays.binarySearch(arr, target)

新手常犯的错误

小结

希望读完本文后,二分查找实现对你来说不再是一个模糊的概念。下次在代码里遇到它,你应该能会心一笑了。


遇见问题加 QQ23979811 协助处理

标签: 编程教程 Java