Выбор ответа Junior Алгоритмы STL и ranges спрашивают часто обновлено
lower_bound и upper_bound
Вопрос
Для отсортированного {1, 3, 3, 3, 7} чему равны lower_bound(3) - begin и upper_bound(3) - begin?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 1 и 4. lowerbound возвращает первый элемент ≥ 3: индекс 1. upperbound первый элемент 3: индекс 4 (семёрка).
Варианты ответа
- 1 и 3
- 2 и 4
- 1 и 4правильный ответ
- 0 и 5
Разбор
lower_bound возвращает первый элемент ≥ 3: индекс 1. upper_bound первый элемент > 3: индекс 4 (семёрка). Разность 3 равна числу троек, так работает equal_range.
- Индекс 3 указывает на последнюю тройку, а не на первый элемент больше.
- Индекс 2 это вторая тройка.
- 0 и 5 это границы всего массива.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.