第 141 课
upper_bound
🔵 基础 约 7 分钟
一句话理解
upper_bound 找第一个大于 x 的位置。
为什么要学
配合 lower_bound 可以数有多少个 x。
讲解
个数 = upper_bound - lower_bound。
同样要求有序。
例子
int a[5] = {1, 3, 3, 7, 9};
cout << (upper_bound(a, a + 5, 3) - a);
输出:
3
第一个 >3 的是 7,下标 3。于是 3 出现在 [1,3)。
常见错误
- 和 lower_bound 记反。
- 用它找 <=x 却没减 1。
练习 做完再看下一课
upper_bound 返回第一个大于 x 的位置。
严格大于。
在线练习 C++ 在浏览器里编译,代码不会上传 已通过
Ctrl / ⌘ + Enter 运行 · Tab 缩进
隐藏测试点只是界面不展示数据。题目 JSON 会下发到浏览器,可在开发者工具里看到,只适合自学,不是正式比赛评测。
进度保存在本机浏览器里。
左右方向键也可翻课