Войти Регистрация
Алгоритмы

17. Пересечение массивов с повторами

Лёгкая

Даны массивы a и b. Верните их общие элементы с учётом кратности: значение входит в ответ столько раз, сколько оно встречается в обоих массивах одновременно.

Порядок не важен. Готовые операции пересечения множеств и Counter не используйте — на собеседовании просили без них.

В работе: Какие товары и в каком количестве есть и в заказе, и на складе.

Пример 1

Ввод
a = [3, 1, 3, 7]
b = [3, 3, 3, 2, 1]
Вывод
[3, 3, 1]

Тройка дважды: в a она встречается два раза.

Пример 2

Ввод
a = [5]
b = [6]
Вывод
[]

Ограничения

  • 0 ≤ длины массивов ≤ 10⁶
  • Лимит — 1 с на тест.
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def intersect(a, b):
Хеш-таблицаПодсчётцельO(n)

Источник: отчёт о Яндексе, 2021. Условие пересказано своими словами.

Давали на собеседовании? Ответов пока мало — ваш поможет.