Массив со снимками

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

Сложность
Средняя
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Классы и ООП
Массивы и списки
Поиск и сортировка

Дан массив из length ячеек, вначале заполненный нулями. Функция получает length, список операций operations и список аргументов values (values[i] относится к operations[i], у "snap" он пуст). Операции:

  • "set" с [index, value] записывает value в ячейку index и возвращает 0.
  • "snap" сохраняет снимок всего массива и возвращает его номер; номера идут с 0 по порядку.
  • "get" с [index, snap_id] возвращает значение ячейки index на момент снимка snap_id (записи, сделанные после этого снимка, не учитываются). Номер snap_id всегда уже существует.

Верните список результатов, по одному на операцию. length до 1000, операций до 1000; копировать весь массив при каждом снимке не нужно.

Пример: 2, ["set", "snap", "set", "get", "get"], [[0, 5], [], [0, 6], [0, 0], [1, 0]] → [0, 0, 0, 5, 0].


Источник: задача CodeShare

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

Ещё задачи

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