К задачам

Сколько раз значение встречается в невозрастающем массиве

СредняяАлгоритмы
Лучше работает на десктопе
Бинарный поискГраницы

Дан отсортированный невозрастающе массив values и число target.

Нужно вернуть, сколько раз target встречается в массиве.

Ожидаемое решение — не линейный проход, а два бинарных поиска:

  • найти первую позицию, где элемент <= target;
  • найти первую позицию, где элемент < target;
  • разность этих позиций и есть количество вхождений.

Сигнатура

def count_occurrences_desc(values: list[int], target: int) -> int:

Примеры

Пример 1

Вход:
values = [9,7,7,7,5,3]
target = 7
Выход:3

Пример 2

Вход:
values = [10,10,8,8,8,1]
target = 6
Выход:0

Пример 3

Вход:
values = [5,5,5]
target = 5
Выход:3
Код
Python · Ctrl/⌘ + Enter для запуска
Лимит
05:00
Консоль
Нажмите кнопку запуска или Ctrl+Enter
Сколько раз value встречается в невозрастающем массиве — Алгоритмы задача — ML Mentor