@nikitakls

Какой есть алгоритм для оптимальной перегруппировки множеств (массивов)?

Есть такой массив:
[18, 17, 48, 47] => A1
[18, 17, 14] => A2,
[48, 47] => A3
[18, 17, 48, 47, 42,] => A4
[32, 33] => A5
[18, 17, 48, 47] => A6
[14, 32, 33] => A7
[18, 14, 17, 47, 48] => A8
[17, 15, 14, 48, 32, 33, 47, 18] => A9
[14, 42] => A10
[42] => A11
[42] => A12


Нужно перегруппировать, чтобы получилось наименьшее количество множеств. И в них было максимальное количество элелементов
Должно получится так:
[48, 47] => [A1, A3, A4, A6, A8, A9],
[18, 17] => [A1, A2, A4, A6, A8, A9]
[32, 33] => [A5, A7, A9]
[15, 14] => A9
[42] => [A4, A10, A11, A12]
[14] => [A2, A7,  A8, A10]
  • Вопрос задан
  • 106 просмотров
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
Перебрать исходную кашу. Набрать массив
[14] => [A2, A7,  A8, A9, A10],
[15] => [A9],
[17] => [A1, A2, A4, A6, A8, A9],
[18] => [A1, A2, A4, A6, A8, A9],
[32] => [A5, A7, A9],
[33] => [A5, A7, A9],

...
И объединить ключи у тех, у которых одинаковый набор значений.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы