Контест Junior Слайсы и мапы изнутри обновлено
Удаление дубликатов с сохранением порядка на Go
Условие
Дан список слов. Удалите повторы, оставив только первое вхождение каждого слова и сохранив исходный порядок.
Ввод: n (1 ≤ n ≤ 2·10⁵), затем n слов без пробелов (могут быть в UTF-8, регистр важен).
Вывод: в первой строке число уникальных слов, во второй сами слова через пробел.
Пример
7
b a b c a d c
4
b a c d
Как подойти
map[string]struct{} как множество увиденного, фильтрация на месте через s[:0].
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Ещё по теме «Слайсы и мапы изнутри»
- Циклический сдвиг слайса на Go
- Число подмассивов с суммой k на Go
- Топ-k частых слов на Go
- Что выведет Go: append при полной ёмкости
- Что выведет Go: два append в один подслайс
- Что выведет Go: массив передаётся по значению
- Что выведет Go: изменение элемента и append в функции
- Что выведет Go: удаление ключей во время range