Назад к задачам
Junior — Senior
7

Определение позиции первого вхождения ключа в отсортированном массиве

Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дан упорядоченный по возрастанию массив data. Требуется реализовать алгоритм бинарного поиска, который возвращает индекс первого появления заданного значения target. Если искомый элемент отсутствует, функция должна вернуть -1.

int first(const std::vector<int> arr, int key) {
    // реализовать
}

Примеры работы функции:

  • data = {1, 2, 2, 2, 3}, target = 2 → результат 1
  • data = {1, 3, 5, 7}, target = 4 → результат -1