Мне нужно проверить, содержит ли элемент std::set
элемент/элементы в диапазоне. Например, если набор равен set<int>
{1, 2, 4, 7, 8}
и задан интервал int
[3, 5]
(включая обе конечные точки), мне нужно знать, есть ли в нем элементы. В этом случае верните true. Но если интервал [5, 6]
, верните false. Интервал может быть [4, 4]
, но не [5, 3]
.Как проверить, имеет ли набор элемент (ы) в определенном диапазоне в C++
Похоже, я могу использовать set::lower_bound
, но я не уверен, является ли это правильным подходом. Я также хочу, чтобы сложность была как можно ниже. Я считаю, что использование lower_bound
является логарифмическим, правильно?