Код:
Код: Выделить всё
import copy
class SnapshotArray:
def __init__(self, length: int):
self.lst = [0] * length
self.snap_id = -1
self.hash = []
self.by_snap_id = 0
return None
def set(self, index: int, val: int) -> None:
self.lst[index] = val
return None
def snap(self) -> int:
self.snap_id += 1
self.copy = copy.copy(self.lst)
self.hash.append(self.copy)
del self.lst
self.lst = self.hash[self.snap_id]
return self.snap_id
def get(self, index: int, snap_id: int) -> int:
return self.hash[snap_id][index]
Поэтому я попытался создать только один список, из которого я буду брать значение и для текущего списка. , но это не сработало. Итак, как мне уменьшить объем используемой памяти?
Подробнее здесь: https://stackoverflow.com/questions/785 ... -used-here