Задача · Алгоритмы и сложность · урок 7 из 9
Задача: бинарный поиск
Напишите функцию int find_index(const std::vector<int>& sorted, int value). Вектор sorted упорядочен по возрастанию, а функция возвращает индекс элемента, равного value, или -1, если такого элемента нет. Поиск должен делать O(log n) сравнений.
find_index({1, 3, 5, 7, 9}, 7)→3find_index({1, 3, 5, 7, 9}, 4)→-1find_index({}, 5)→-1
Ограничения: значения в sorted не повторяются, это числа типа int, в том числе отрицательные, а сам вектор может быть пустым. value может быть меньше первого элемента или больше последнего.
Не добавляйте лишних #include, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.