C++ и Python

Удаление повторов (2)

Удаление повторов

Условие

Напишите шаблонную функцию

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