Удаление повторов
Условие
Напишите шаблонную функцию
template <typename T>
void RemoveDuplicates(std::vector<T>& elements);
принимающую по ссылке вектор elements объектов типа T и удаляющую из него все дубликаты элементов. Порядок оставшихся элементов может быть любым.
Гарантируется, что объекты типа T можно сравнивать с помощью операторов ==, !=, < и >.
Указание
Рассмотрите использование алгоритмов std::sort, std::unique и метода std::vector::erase для решения этой задачи.
Ограничения
- Количество элементов от
0до10^6 - Время работы функции не должно превышать
0.5секунд
Как тестировать локально
Собрать программу с помощью cmake и запустить ctest:
mkdir build; cd build
cmake ..; cmake --build .
ctest -V