Ctrl K

Какой по счёту проход

Средняя
Турникет в офисе пишет журнал log: номера пропусков в том порядке, в котором люди проходили (нумерация позиций с нуля). Охрану интересует один пропуск — badge. На каждый запрос asks[i] нужно ответить, на какой позиции журнала пропуск badge сработал в asks[i]-й раз. Если столько раз он не срабатывал, ответ — -1. Верните список ответов в порядке запросов.
Пример 1
log=[7, 4, 7, 7, 2], asks=[2, 1, 4, 3], badge=7 → [2, 0, -1, 3]

Пропуск 7 срабатывал на позициях 0, 2 и 3. Второе срабатывание — позиция 2, первое — 0, четвёртого не было (-1), третье — 3.

Пример 2
log=[5, 6, 5], asks=[1, 1], badge=9 → [-1, -1]

Пропуска 9 в журнале нет вовсе, поэтому на оба запроса ответ -1.

Пример 3
log=[3], asks=[1], badge=3 → [0]
Ограничения
  • 1 ≤ len(log), len(asks) ≤ 10⁵
  • 1 ≤ asks[i] ≤ 10⁵
  • 1 ≤ log[i], badge ≤ 10⁴
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСудоку без конфликтов СредняяРазложить анаграммы по группам СредняяНулевые кресты СредняяДерево по прямому и симметричному обходам СредняяДерево по симметричному и обратному обходам Средняя
загружаем Python…
Вход
log=[7, 4, 7, 7, 2], asks=[2, 1, 4, 3], badge=7
Ожидается
[2, 0, -1, 3]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 80 тестов на сервере, включая скрытые.