第 140 课
lower_bound
🔵 基础 约 7 分钟
一句话理解
lower_bound 在有序区间找第一个大于等于 x 的位置。
为什么要学
二分查找的标准库版本。
讲解
返回迭代器。减 begin() 得到下标。区间必须已经升序。
找不到(都比 x 小)会返回 end。
例子
int a[5] = {1, 3, 3, 7, 9};
int i = lower_bound(a, a + 5, 3) - a;
cout << i;
输出:
1
第一个 >=3 的是下标 1 的那个 3。
常见错误
- 数组没排序就 lower_bound,结果无定义。
- 当成找等于 x,忽略可能找到的是更大的数。
练习 做完再看下一课
第一个大于等于 x 的位置,用 ____
下界。
在线练习 C++ 在浏览器里编译,代码不会上传 已通过
Ctrl / ⌘ + Enter 运行 · Tab 缩进
隐藏测试点只是界面不展示数据。题目 JSON 会下发到浏览器,可在开发者工具里看到,只适合自学,不是正式比赛评测。
进度保存在本机浏览器里。
左右方向键也可翻课