二分查找如何找到目标值的第一个出现位置?
说明如何用二分查找在有序数组中找到目标值第一次出现的下标,重点讲解命中后继续向左收缩的机制以及返回候选值的语义,并给出可直接运行的 JavaScript 实现与边界测试。
核心关键词二分查找 第一个出现位置 首次出现
算法 · 测试面试题第 1 页,显示第 1–3 题,共找到 3 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
说明如何用二分查找在有序数组中找到目标值第一次出现的下标,重点讲解命中后继续向左收缩的机制以及返回候选值的语义,并给出可直接运行的 JavaScript 实现与边界测试。
本文解析二分查找左闭右闭与左闭右开写法的根本差异:循环不变量和区间收缩方式不同导致while条件一个用<=一个用<,mid更新也相差一。通过具体代码演示两种写法查找下界,给出重复元素、越界和空数组等边界测试,帮助读者写出无死循环的二分。
本文讲解求二叉树最大深度的两种递归思路:自底向上返回子树高度加一,自顶向下传递当前深度并记录全局最优。给出可运行的JavaScript实现与空树、链状、平衡树等多组测试,分析时间与空间复杂度,澄清边界约定。