Sobes.tech
Junior — Senior
118

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

Тапсырма шарты

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