Перейти к содержимому
Задача · 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, а не перебором результата.

Не добавляйте лишних импортов, если в задаче это прямо не сказано.

unique.go — go
go · строк: 6
Ctrl+Enter запуск · Esc выйти из редактора

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом