Для обычного реверса гласных двумя указателями время O(n). Дополнительная память O(1) для изменяемого массива символов, но преобразование неизменяемой строки в массив обычно требует O(n).
[имя] попросил: Оцените временную и пространственную сложность решения задачи реверса гласных
Для обычного реверса гласных двумя указателями время O(n). Дополнительная память O(1) для изменяемого массива символов, но преобразование неизменяемой строки в массив обычно требует O(n).
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для обычного реверса гласных двумя указателями время O(n). Дополнительная память O(1) для изменяемого массива символов, но преобразование неизменяемой строки в массив обычно требует O(n).
Оба указателя движутся только к центру, поэтому каждый символ рассматривается ограниченное число раз. Проверка принадлежности фиксированному набору гласных имеет постоянную стоимость. Если алгоритм сначала собирает гласные отдельно, память зависит от их количества и в худшем случае O(n). Точная оценка относится к реализации: последовательное пересоздание строк при каждой замене способно увеличить время до O(n²).