跳到正文
信奥逐课

第 194 课

左边界

🟢 入门 约 5 分钟

一句话理解

左边界:第一个 >=x 的位置。

为什么要学

有重复值时找最左边那个。

讲解

找到 a[mid]>=x 时记下并往左缩。相当于 lower_bound。

要分清“第一个真的等于 x”和“第一个大于等于 x”。

例子

while (l <= r) {
    int mid = (l + r) / 2;
    if (a[mid] >= x) { ans = mid; r = mid - 1; }
    else l = mid + 1;
}

能满足就尝试更左。

常见错误

练习 做完再看下一课

要找最左边的合法位置,找到后应继续向左二分。

在线练习 C++ 在浏览器里编译,代码不会上传

Ctrl / ⌘ + Enter 运行 · Tab 缩进

输出
 

进度保存在本机浏览器里。

左右方向键也可翻课