Определение уникальности всех элементов в массиве

Проверьте каждое число по множеству уже встреченных. Повтор немедленно даёт false; отсутствие повторов до конца — true.

Короткий ответ

Что ответить на собеседовании

Проверьте каждое число по множеству уже встреченных. Повтор немедленно даёт false; отсутствие повторов до конца — true.

Подробный разбор

Ответ с пояснениями

Условие

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

Ответ

Проверьте каждое число по множеству уже встреченных. Повтор немедленно даёт false; отсутствие повторов до конца — true.

Пример Go:

func unique(nums []int) bool {
    seen := make(map[int]struct{}, len(nums))
    for _, n := range nums {
        if _, ok := seen[n]; ok { return false }
        seen[n] = struct{}{}
    }
    return true
}

Среднее время O(n), память O(n), исходный слайс не меняется. Для пустого массива результат true. Если дополнительная память критична и изменение порядка разрешено, можно сортировать и сравнивать соседние значения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее