Sobes.tech
Назад к задачам
Junior — Senior
98

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

Условие задачи

livecode

Дан упорядоченный по возрастанию массив 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