Найти все варианты пересечений нового массива

Андрей8 лет в сервисе
Данные заказчика будут вам доступны после подачи заявки
02.05.2017

задача выглядит так: 

Есть N массивов из M произвольных строк (из одного – двух -3 слов), 

добавляем ещё один новый массив. 

Требуется найти все варианты пересечений нового массива с существующими 

и всеми комбинациями между ними. 

Результат выдать 

1-й массив – 10 совпадений с новым, 

пересечение 1-го , 2-го массива с новым – 8 совпадений и так далее. 

отсечь нулевые результаты. 

N и М примерно 100 тысяч 

Изменение слов в наборе надо учитывать. 

Пример: 

M1 = ["сметана", "молоко и яйца","мука"] 

M2 = ["мука","перец"] 

.... 

MN = ["капуста", "красный перец", "мука"] 

"перец" не равен "красный перец" 

Интересует цена, предложение без цены не рассматривается.