二分查找 高频追问 Q&A
1. Q: 二分查找适用前提是什么?
A: 有序性或可构造单调性。
2. Q: 为什么会死循环?
A: 区间定义与更新不一致,比如 [l,r] 却写成 l=mid。
3. Q: mid 为什么写成 l + (r-l)/2?
A: 避免大数相加溢出(在 JS 中习惯保留此写法)。
4. Q: 左边界和右边界模板区别?
A: 判定条件不同:左边界偏向 >= target,右边界偏向 <= target。
5. Q: 什么是答案二分?
A: 在“答案空间”二分,靠 check(mid) 的单调性收缩区间。
6. Q: 面试怎么证明写对了?
A: 用 5 类样例:空数组、单元素、全相等、目标不存在、目标在边界。