История браузера
Задача по программированию с проверкой онлайн
- Сложность
- Лёгкая
- Языки
- Python
- JavaScript
- TypeScript
- Java
- Go
- Темы
- Классы и ООП
- Стек, очередь, связные списки
Браузер хранит историю страниц. Страницы обозначены целыми числами, в начале открыта страница 0, истории «назад» и «вперёд» пусты. Реализуйте операции, каждая даёт номер текущей страницы после неё:
visit(страница): открыть страницу; прежняя текущая уходит в историю «назад», история «вперёд» стирается;back(k): сделать до k шагов назад (меньше, если истории не хватает); пройденные страницы попадают в историю «вперёд»;forward(k): сделать до k шагов вперёд аналогично;current: ничего не менять.
Верните список результатов, по одному на операцию. values[i] — аргументы операции i (для current пустой список).
Пример: ["visit", "visit", "back", "forward", "back"], [[5], [7], [1], [3], [4]] → [5, 7, 5, 7, 0].
Источник: задача CodeShare
Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).