Как узнать, в каком интервале существует индекс, используя set>C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Как узнать, в каком интервале существует индекс, используя set>

Сообщение Гость »

У меня есть std::set интервалы, значения которого представляют собой некоторые интервалы, это что-то похожее на это:

Код: Выделить всё

{ 0, 5 },
{ 5, 8 },
{ 8, 10 }
и у меня есть число x могу ли я узнать, в каком интервале он использует low_bound или Upper_bound?
Мне нужно решение со сложностью O(log(N)).
Потому что я помню, что видел, как кто-то делал это примерно так:

Код: Выделить всё

int x;
std::set intervals;
cin >> x;
auto ans = intervals.upper_bound({ x, INF })
и я не помню, каково было значение INF
Примечание: интервалы не не пересекаются.

Подробнее здесь: https://stackoverflow.com/questions/730 ... airint-int
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»