История браузера

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
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

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки