您可以使用简单的排序向量或数组来完成此操作:
std::vector<int> V;
// (fill V with values)
std::sort(V.begin(), V.end());
int numValsLessThan5 = std::lower_bound(V.begin(), V.end(), 5) - V.begin();
int numValsLessThanOrEqualTo5 = std::upper_bound(V.begin(), V.end(), 5) - V.begin();
Run Code Online (Sandbox Code Playgroud)
upper/lower_bound在支持随机访问的容器上使用时具有对数复杂度。
| 归档时间: |
|
| 查看次数: |
2719 次 |
| 最近记录: |