二分查找基础知识速览
一、面试常考点
1. 适用前提
数据有序 + 目标具备单调性。
2. 模板边界
左闭右闭 [l, r] 与左闭右开 [l, r) 必须统一。
3. 常见错误
死循环、越界、mid 计算溢出、边界返回错位。
二、模板
function binarySearch(nums, target) {
let l = 0
let r = nums.length - 1
while (l <= r) {
const mid = l + Math.floor((r - l) / 2)
if (nums[mid] === target) return mid
if (nums[mid] < target) l = mid + 1
else r = mid - 1
}
return -1
}
30 秒口述模板
我会把「二分查找」分成三层来讲:先讲核心概念和它解决的问题,再讲一个高频场景与实现思路,最后补充常见坑点和优化方向。这样既能回答基础问题,也能接住面试官追问。
2 分钟口述模板
如果展开讲,我会按“定义 -> 原理 -> 场景 -> 取舍”四步回答。先说明「二分查找」解决的核心问题和边界;再讲 1 到 2 个关键机制,解释为什么这样设计;然后结合一个真实业务场景说明如何落地;最后补充常见坑点、性能或稳定性优化,以及与相近方案的取舍标准。
这样回答的好处是:既有原理深度,也有工程落地感,面试官继续追问到实现细节时也能自然展开。