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