Пересечение массивов по ключу (Intersect Arrays by Key)

3

JavaScriptPython

Массивы

Sminex

Условие:

Даны два массива объектов. Каждый объект содержит числовое поле code. Верните новый массив, содержащий все объекты из массива a, для которых в массиве b найдётся объект с таким же значением поля code. Порядок элементов в результате определяется порядком элементов в массиве b: объекты из a должны располагаться в том порядке, в каком встречается соответствующий code в b. Если в b встречается несколько одинаковых code, учитывается только первое вхождение.

Входные данные:

  • a — массив объектов вида { code: number, ...rest }, длина от 0 до 10⁵

  • b — массив объектов вида { code: number, ...rest }, длина от 0 до 10⁵

Выходные данные:

Массив объектов из a, отфильтрованных и упорядоченных по первому вхождению соответствующего code в b.

Ограничения:

  • 0 <= a.length, b.length <= 100 000

  • Поле code — целое неотрицательное число

  • В массиве b могут быть дубликаты code — учитывается только первое вхождение

Примеры:

Вход: a = [{code:0},{code:3},{code:4}], b = [{code:0},{code:3},{code:4}]
Выход: [{code:0},{code:3},{code:4}]

Вход: a = [{code:0},{code:1},{code:3},{code:4}], b = [{code:3},{code:0},{code:4}]
Выход: [{code:3},{code:0},{code:4}]

Вход: a = [{code:1},{code:2}], b = [{code:3},{code:4}]
Выход: []
Loading...