По определению, набор содержит только уникальные значения. Таким образом, ответом должен быть сам набор, который можно «вычислить» за постоянное время. : -)
Серьезно, если предположить, что вы на самом деле работаете с кучей, списком, вектором или какой-то другой структурой данных, которая допускает дублирование, вероятно, самый быстрый способ решения проблемы - это ответ Майка Данлави, который заключается в использовании хеш-таблицы , Есть также некоторые методы, использующие деревья, которые вы можете использовать, которые используют последовательно более точные оценки. Я думаю, что такой подход будет O (n log n) (не так хорошо, как решение с хэш-таблицей), хотя, возможно, он может быть ниже, чем O (log n), если вы допустите некоторую статистическую ошибку.