Задача · Map · урок 9 из 9
Задача: без повторов
Напишите функцию func unique(nums []int) []int, которая возвращает новый срез, где каждое число из nums встречается один раз. Числа идут в том порядке, в каком впервые появились в nums.
unique([]int{3, 1, 3, 2, 1})→[3 1 2]unique([]int{5, 5, 5})→[5]unique([]int{})→[]
Ограничения: в nums от 0 до 100000 чисел, среди них бывают отрицательные и ноль; для пустого среза функция возвращает пустой срез.
Решение должно быть быстрым: 60 000 чисел обрабатываются за доли секунды, поэтому проверку «уже встречалось?» делайте через map, а не перебором результата.
Не добавляйте лишних импортов, если в задаче это прямо не сказано.
Подпишись, чтобы пройти курс
Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.