Контест Middle Дженерики обновлено

Обобщённое множество Set[T] на Go

Условие

Даны два списка одного типа: целые числа или строки. Выведите три строки: пересечение, объединение и разность A \ B. Элементы в каждой строке уникальны и отсортированы по возрастанию (числа как числа, строки побайтово). Пустой результат обозначьте -.

Ввод: в первой строке тип int или string, затем строка n a₁ … aₙ, затем строка m b₁ … bₘ (0 ≤ n, m ≤ 4000).

Вывод: три строки.

Пример

int
5 3 1 2 3 5
3 5 4 2
2 5
1 2 3 4 5
1 3

Как подойти

Set[T cmp.Ordered] map[T]struct{}, операции над множествами, slices.Sorted(maps.Keys(...)).

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.