Sobes.tech
Back to tasks
Junior — Senior
97

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

Task condition

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