Отсортированные строки (2)
Отсортированные строки
Условие
Реализуйте класс, поддерживающий набор строк в отсортированном порядке. Класс должен содержать два публичных метода:
class SortedString {
public:
void AddString(const std::string& s);
std::vector<std::string> GetSortedString() const;
};
Добавление строки должно выполняться за логарифмическое время по числу строк, а передача вектора строк - за линейное.
Ограничения
- Строки содержат только буквы латинского алфавита и цифры
- Длина строки от
1
до15
- Количество строк от
0
до500000
- Максимальное время на добавление всех строк и последующий вызов
GetSortedString
:2
секунды
Как тестировать локально
Собрать программу с помощью cmake
и запустить ctest
:
mkdir build; cd build
cmake ..; cmake --build .
ctest -V