Контест Junior Протоколы, POP и дженерики обновлено
Задача на Swift: дженерик-очередь на двух стеках
Условие
Реализуйте дженерик-очередь Queue<T> на двух массивах-стеках с амортизированным O(1) и обработайте команды:
push x: добавить строкуxв конец;pop: извлечь и вывести первый элемент илиempty;peek: вывести первый элемент без извлечения илиempty;size: вывести число элементов.
Первая строка: n (1 ≤ n ≤ 10⁴), дальше команды.
Пример
7
push 1
push 2
peek
pop
push 3
pop
size
1
1
2
1
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.
Предыдущий вопрос
Задача на Swift: LRU-кеш для картинок
Следующий вопрос
Какой вызов как диспетчеризуется
Термины по теме
Ещё по теме «Протоколы, POP и дженерики»
- Протокол делегата и weak
- Протокол с associatedtype как тип параметра
- Условное соответствие протоколу
- Метод из расширения протокола: какая реализация вызовется
- Ограничение дженерика Comparable
- Как ускорить вызов методов класса
- Что такое associatedtype
- Виды диспетчеризации в Swift